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の白いフラッシュ

私は何を間違っていますか?

アップデート:

うわー、フォンギャップ。解決策は次のとおりです。

<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設定を編集します。falseでなければなりません。(このファイルは platform/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 に答える