在启动画面后,我遇到了Cordova 3.0 for iOS 7中的白色闪光问题。在终端我跑了:
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-splashscreen.git
我生成的config.xml
文件如下:
<content src="./index.html" />
<feature name="LocalStorage">
<param name="ios-package" value="CDVLocalStorage" />
</feature>
<access origin="*" />
<preference name="KeyboardDisplayRequiresUserAction" value="true" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="UIWebViewBounce" value="true" />
<preference name="TopActivityIndicator" value="gray" />
<preference name="EnableLocation" value="false" />
<preference name="EnableViewportScale" value="false" />
<preference name="AutoHideSplashScreen" value="true" />
<preference name="ShowSplashScreenSpinner" value="false" />
<preference name="FadeSplashScreen" value="true" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="AllowInlineMediaPlayback" value="false" />
<preference name="OpenAllWhitelistURLsInWebView" value="false" />
<preference name="BackupWebStorage" value="cloud" />
<preference name="permissions" value="none" />
<preference name="orientation" value="default" />
<preference name="target-device" value="universal" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
<preference name="prerendered-icon" value="true" />
<preference name="stay-in-webview" value="false" />
<preference name="ios-statusbarstyle" value="black-opaque" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="false" />
<preference name="disable-cursor" value="false" />
<preference name="android-minSdkVersion" value="7" />
<preference name="android-installLocation" value="auto" />
<feature name="SplashScreen">
<param name="ios-package" value="CDVSplashScreen" />
</feature>
<feature name="SplashScreen">
<param name="android-package" value="org.apache.cordova.SplashScreen" />
</feature>
<feature name="InAppBrowser">
<param name="ios-package" value="CDVInAppBrowser" />
</feature>
<feature name="InAppBrowser">
<param name="android-package" value="org.apache.cordova.InAppBrowser" />
</feature>
我在资产目录中有适当的启动图像。每当我尝试运行这个应用程序时,它总是在启动画面上运行良好,但随后迅速淡化为白色。真令人发狂;我看了很多链接并完成了他们告诉我的事情,例如:
Phonegap 3 white flash after splash
我做错了什么?
更新
哇,Phonegap。这是解决方案:
<feature name="SplashScreen">
<param name="ios-package" value="CDVSplashScreen"/>
<param name="onload" value="true" />
</feature>
答案 0 :(得分:1)
这是一种正常行为。 Splash屏幕隐藏在您的应用程序之前(假设:index.html)加载。
您可以通过执行以下操作延迟splashscreen.hide()来避免白色闪烁:
在 config.xml 文件中修改 AutoHideSplashScreen 设置。它必须是 false 。
(此文件应位于platforms / ios / www /中)
<preference name="auto-hide-splash-screen" value="false" />
要延迟隐藏启动画面,请在deviceready处理程序中添加一个计时器(我在 index.html 中添加):
function onDeviceReady() {
setTimeout(function() {
navigator.splashscreen.hide();
}, 2000);
}
这会延迟将SplashScreen隐藏2秒。 对我而言,它的工作时间为1200毫秒,您可以尝试一下。
查看iOS怪癖部分:
http://docs.phonegap.com/en/3.0.0rc1/cordova_splashscreen_splashscreen.md.html#splashscreen.hide