將Phonegap從2.3.0更新到2.5.0之後,iOS/iPhone應用程序中的啓動畫面會在應用程序啓動過程中向下移動一個奇怪的20px。首先它位於狀態欄的後面,但很快會降到低於20px。這也發生在Phonegap默認模板中。在之前的Phonegap版本中,我沒有遇到這個問題。我該如何解決?Phonegap 2.5.0 splashscreen在顯示過程中向下移動
回答
如果我包含了我想要做的狀態欄,我遇到了20px的相同問題。爲解決此問題,我編輯了文件CDVSplashScreen.m,並更改了以下行:
_imageView.frame = CGRectMake(0,0,_imageView.image.size.width,_imageView.image.size.height);
TO:
_imageView.frame = CGRectMake(0,-20 ,_imageView.image.size.width,_imageView.image.size.height);
我測試了我的iPhone 4和5以及普通iPhone的模擬器,它似乎已經完成了這個訣竅。
在您的XCode目標中,有一部分用於iPhone部署信息。該面板的狀態欄部分有一個可見性複選框,用於在啓動過程中隱藏狀態欄。這應該可以防止你在iOS啓動和科爾多瓦準備就緒之間看到20px的變化。
謝謝,我試過了,並沒有再出現轉變,但現在狀態欄不再出現了?我需要它在發佈後可見。如何恢復? – yrjom 2013-03-14 17:07:29
1)隱藏狀態欄
在Xcode 4.6,選擇你的項目,然後摘要選項卡,然後選中「隱藏在應用程序啓動」複選框。
2)當應用程序加載完成後再次顯示狀態欄。你可以通過調用:
[[UIApplication sharedApplication] setStatusBarHidden:NO
withAnimation:UIStatusBarAnimationFade];
3)您可能還需要調整您的WebView幀,如果web視圖部分隱藏狀態欄背後:
CGRect r = webView.frame;
r.size.height -= 20;
r.origin.y = 20;
webView.frame = r;
我創建了一個簡單的PhoneGap插件我在設備準備就緒事件之後調用的這個函數是在javascript中觸發的(您可以從插件super.webview訪問您的webview。
您也可以將您的項目更新到2.6.0版本。這個問題對於cordova 2.5是已知的。我有同樣的問題,我只是更新它來糾正它
是的,我做了那已經是2.6.0版本了(在我最初的問題之後)。這當然是最好的解決方案。感謝您在這裏提醒它! – yrjom 2013-04-27 15:21:27
- 1. Phonegap splashscreen方向
- 2. EmailComposer在PhoneGap的2.5.0
- 3. Phonegap應用程序啓動過程中的splashscreen
- 4. 的PhoneGap 2.5.0問題
- 5. Phonegap splashscreen自動消失
- 6. SplashScreen中的ImageView未顯示
- 7. Cordova/Phonegap iPhone splashscreen bug
- 8. Phonegap HTML/Dreamweaver CC Splashscreen
- 9. phonegap構建ios splashscreen
- 10. Phonegap 2.5.0:創建項目時出錯
- 11. 如何使用PhoneGap V1.x顯示iPhone5-Splashscreen
- 12. KML在線上顯示移動方向
- 13. 爲什麼在顯示鍵盤時視圖向下移動?
- 14. 彈出框在右側第一個顯示後向下移動
- 15. 在Phonegap JQuery移動改變方向
- 16. 在WPF中向上/向下移動ListBoxItem
- 17. Phonegap - 在移動Safari中打開鏈接
- 18. 離子 - splashscreen不顯示
- 19. CSS動畫在動畫過程中向下移動第二個元素
- 20. PhoneGap SplashScreen不起作用
- 21. 如何隱藏PhoneGap Android SplashScreen?
- 22. 改變Android中的方向時,SplashScreen沒有改變PhoneGap
- 23. 如何在phonegap應用程序中使用splashscreen插件?
- 24. 在UITableView上顯示UISearchController向下滾動
- 25. 顯示滾動向下滾動和隱藏向下滾動時
- 26. 推Woosh和PhoneGap的2.5.0執行力度
- 27. 如何在iphone/android上顯示splashscreen?
- 28. 僅在新鮮開放時顯示Splashscreen
- 29. 通過ajax在phonegap應用程序中顯示sql數據
- 30. 查看向上和向下移動翻譯動畫時的顯示和隱藏
太棒了,這個工程就像我想要的一樣! – yrjom 2013-03-19 18:32:48
儘管這種方法有效,但缺點是每次更新Cordova時都必須記住對CDVSplashScreen.m進行相同的編輯。 您可能會在添加呼叫 '[[UIApplication sharedApplication] setStatusBarHidden:NO];' 到您的主要UIViewController類。 – 2013-03-19 18:58:38
我還發現這些信息與您的建議相關。我的學習繼續:) http://cookieflow.wordpress.com/2013/03/16/hiding-and-showing-the-ios-status-bar-in-phonegap-2-5-0/ – yrjom 2013-03-20 12:53:15