我正在開發iOS應用程序。我的應用程序委託將我的視圖控制器加載到窗口上並正確顯示,除了一個警告:我的視圖控制器上的視圖在Y軸上的位置不夠遠,狀態欄會截斷我的頂視圖。我改變了我的視圖控制器的XIB文件以適應這個,所以現在我所有的視圖都沿着Y軸開始20個像素。在初始加載時,一切看起來都很好。當我旋轉時,我的視圖比他們應該低20個像素(由於我的佈局更改以適應第一次加載)。我想知道的是如何更好地處理視圖控制器中的位置以處理狀態欄高度。iOS視圖控制器在旋轉後移動
4
A
回答
1
我已經通過不直接/編程方式將視圖渲染到窗口中來解決了這個問題。我所做的是創建一個RootViewController,它在兩個方向上放置並正確對齊,並在RootViewController中具有所有其他視圖。
發生這種情況的原因是應用程序的窗口始終是整個屏幕(包括頂部的狀態欄)。如果您嘗試填寫窗口,則必須處理並補償狀態欄和其他鑲邊。如果您管理根視圖內的所有視圖,會更容易。
0
您的解決方案取決於您如何創建項目。
如果您在創建項目時使用了基於視圖的應用程序模板,那麼您將在MainWindow.xib中擁有您的視圖控制器。假設您在該NIB中爲您的視圖控制器啓用了狀態欄屬性(即選擇灰色或黑色),則您的視圖控制器應該在最初(啓動時)以及旋轉設備後正常工作。
如果使用的是基於窗的應用程序模板,當您創建的項目,你必須將下面的代碼行添加到您的應用程序委託的didFinishLaunchingWithOptions:
myViewController.view.frame = window.screen.applicationFrame;
不知何故神奇地把事情成立正確。
相關問題
- 1. iOS 6旋轉:推視圖控制器
- 2. 旋轉視圖控制器
- 3. 旋轉視圖控制器
- 4. Swift手動旋轉視圖控制器
- 5. ios6視圖控制器自動旋轉
- 6. 當Modal View Controller旋轉時,iOS旋轉視圖控制器
- 7. 如何限制視圖控制器在ios 8中的旋轉?
- 8. 旋轉superview iphone後移動子視圖?
- 9. iOS中的視圖控制器與旋轉之間的轉換
- 10. 在iOS 6視圖控制器的旋轉不正確
- 11. 非全屏視圖控制器強制旋轉IOS
- 12. iPhone視圖控制器視圖向下移動20像素時旋轉橫向
- 13. 動畫旋轉視圖IOS
- 14. 視圖控制器上旋轉
- 15. 多視圖控制器和旋轉
- 16. 視圖控制器不旋轉
- 17. iOS:將視圖旋轉應用於模態視圖下的視圖控制器
- 18. 父視圖控制器不會在提供子視圖控制器時旋轉
- 19. iOS只旋轉其中一個子視圖控制器
- 20. 如何在導航控制器中自動旋轉子視圖
- 21. 在視圖控制器之間切換時自動旋轉
- 22. 容器控制器和iOS 6旋轉
- 23. 如何在推動導航控制器後移動視圖?
- 24. 在視圖旋轉時移動對象
- 25. 嵌入導航控制器後,視圖將不會旋轉
- 26. 子視圖控制器旋轉,同時父視圖控制器不
- 27. iOS:在當前模態視圖控制器後面切換視圖控制器?
- 28. iOS:如何在另一個視圖向其轉動時旋轉視圖控件?
- 29. 如何處理ios 8中每個視圖控制器中的自動旋轉?
- 30. 不要自動旋轉視圖控制器,但顯示UIAlertView旋轉