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