1

我在启动屏幕后遇到了适用于 iOS 7 的 Cordova 3.0 中的白色闪光问题。在终端中我跑了:

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白闪

我究竟做错了什么?

更新:

哇,Phonegap。这是解决方案:

<feature name="SplashScreen">
<param name="ios-package" value="CDVSplashScreen"/>
<param name="onload" value="true" />
</feature>
4

1 回答 1

1

这是一种正常的行为。启动画面会在您的应用(比如:index.html)加载之前隐藏。

您可以通过执行以下操作延迟 splashscreen.hide() 来避免白色闪光:

在config.xml文件中编辑AutoHideSplashScreen设置。它必须是的。(这个文件应该在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

于 2013-10-23T22:21:29.633 回答