如何在InAppBrowser为iOS版Cordova启动时显示加载微调器/指示器

Eri*_*c H 4 ios cordova inappbrowser

我们正试图在iOS版本的Cordova 3.4上启动InAppBrowser实例时显示网页正在加载的指示符.

Android底部有一个微调器可以正常工作,但iOS只显示白屏,直到页面突然弹出.

我们最初考虑使用事件监听器:

https://github.com/apache/cordova-plugin-inappbrowser/blob/dev/doc/index.md#addeventlistener

收听loadstart和loadstop并添加js/css以显示appbrowser窗口中的加载

https://github.com/apache/cordova-plugin-inappbrowser/blob/dev/doc/index.md#executescripthttps://github.com/apache/cordova-plugin-inappbrowser/blob/dev/doc/ index.md#insertcss

仍在研究可行的解决方案.

Guy*_*owe 11

iOS InAppBrowser对象具有自己的微调器,它会自动添加到webview中.

但是,由于微调器创建为UIActivityIndi​​catorViewStyleWhite,并且webview的背景为白色,因此无法看到它.

所以我更新了这样:

self.spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
Run Code Online (Sandbox Code Playgroud)

此外,微调器框架的x坐标超出了iPhone视图的范围.为了解决这个问题,我将框架更新为:

self.spinner.frame = CGRectMake(self.view.frame.size.width / 2 - 10, self.view.frame.size.height/ 2 - 10, 20, 20);
Run Code Online (Sandbox Code Playgroud)

无论您使用何种尺寸的设备,这都应该使微调器居中.

我只在纵向模式下测试过这个.

您可能想要分叉Cordova(我用3.4测试它)并提交补丁或查看是否有"正确"的方法来执行此操作.