2012-04-01 52 views
2

我試圖讓我的啓動畫面顯示爲我的PhoneGap /科爾多瓦本機iOS應用程序。此行爲的默認值或布爾值被設置爲'YES'。我試圖讓屏幕顯示2秒鐘。目前,它只顯示一瞬間,然後直接進入應用程序。由於我的應用程序在啓動時沒有下載任何網絡數據,因此加載速度非常快。在PhoneGap /科爾多瓦顯示啓動畫面1.5.0

根據這個建議,這個解決方案適用於一些。我使用的是最新的1.5.0科爾多瓦編譯:http://shazronatadobe.wordpress.com/2011/09/15/ios-phonegap-splash-screen-control/

我在Cordova.plist變身AutoHideSplashScreen爲「NO」,我使用此代碼:

function onLoad() { 
     document.addEventListener("deviceready", onDeviceReady, false); 
    } 
    setTimeout(function() { 
       navigator.splashscreen.hide(); 
       }, 2000); 

我已經嘗試將setTimeout函數放入函數中,但無濟於事。像這樣:

function onLoad() { 
     document.addEventListener("deviceready", onDeviceReady, false); 
    } 
    function hideSplash() { 
     setTimeout(function() { 
        navigator.splashscreen.hide(); 
        }, 2000); 

    } 

然後在Body加載時加載'hideSplash()'。但無濟於事。

我的代碼有什麼問題嗎?

+0

我不想問同樣的問題兩次,但是這種解決方案似乎並沒有爲我工作:HTTP:// stackoverflow.com/questions/9933988/with-phonegap-cordova-how-can-i-use-the-autohidesplashscreen-option/9967399#comment12733852_9967399 – Paul 2012-04-01 21:02:53

+0

'設備準備好'因爲我正在使用它也用於檢查互聯網連接。 – Paul 2012-04-01 21:05:56

回答

3

好的,我採取了RespectTheCode的建議,並從onLoad函數中刪除了設備就緒事件。這是工作代碼。我正在爲其他人正在學習的完整代碼:

<script> 
    document.addEventListener("deviceready", onDeviceReady, false); 

    setTimeout(function() { 
    navigator.splashscreen.hide(); 
    }, 1000); 
</script> 

對於那些不知道的人來說,1000是一秒鐘。無法工作的時間少於一秒,即500.閃屏僅掛起。

這對我來說工作,當我安裝和應用程序工作正常,但是,當我重新啓動設備(iPad2)閃屏掛起像前面的問題(上段),並不會進入應用程序。奇怪的錯誤。

任何人都會遇到這種情況嗎?

我在iOS 5.1和Xcode 4.3.1和1.5.0科爾多瓦

0

我使用的科爾多瓦2.1.0和2.2.0現在建設。 當調用navigator.splashscreen.hide()時,啓動畫面沒有消失。 使用下面的代碼,它的工作:

private static native void hideSplashScreen() /*-{ 
    $wnd.Cordova.exec(null, null, "SplashScreen", "hide", []); 
}-*/; 

希望這有助於