我創建了一個使用多個控制器來顯示和控制視圖的多視圖應用程序。我遇到的問題是,當模擬器最初加載視圖時,標題部分被屏幕頂部的欄覆蓋,並且基部的工具欄未觸及屏幕底部。我使用「界面」構建器大小屬性來控制iPhone旋轉時的視圖,並且它完美地工作。在旋轉之後,所有材料都可以在橫向和縱向模式下完美地進入到位,但問題在於旋轉發生之前的初始負載。 您的想法非常感謝。 TonyUIView被狀態欄剪切直到自動旋轉
回答
我遇到了狀態,導航欄和標籤欄夾住視圖的問題。我通過使用Interface Builder中的Simulated Metrics功能修復了大部分功能。這樣你在IB中的佈局就會更準確地得到你實際得到的結果。
我在這個問題上掙扎了好幾天 - 在IB工作中沒有太多的擺弄。
最終我得到了它通過加入這一行的工作:
mainViewController.view.frame = window.screen.applicationFrame;
到應用程序中:didFinishLaunchingWithOptions:方法。 (其中mainViewController是主UIViewController)。
的問題是,你是根據蘋果的文檔添加控制器「錯誤地」(恕我直言,雖然蘋果設計的很糟糕 - !默認的應該是你不需要轉移)
如果你會有一個狀態欄,Apple 要求,你「手動」將所有的控制器向下移動20個像素(更準確地說,是狀態欄的高度 - 儘管現在總是20個像素,但Apple允許您請求運行時高度,來自UIApplication中的「statusBarFrame」屬性)
Apple's classes - eg UINavigationController/UITabBarController - 當它們被添加到屏幕時,自動向下移動20個像素。這兩個班都有一個錯誤,他們會做這種轉變即使他們不是主要控制器 - 所以你的應用程序突然下移額外的20個像素,留下20個像素的白色空間頂部。
但是,當他們旋轉時,這些類通常「得到它的權利」,並回到原地。或相反亦然。
c.f.此鏈接,這是怎麼回事,以及如何更詳細的解釋,編寫代碼蘋果希望你的方式:我就遇到了這個問題太
。具體來說,當顯示一個ADBannerView
時,我的整個視圖會轉移並位於狀態欄下方,並留下一點空的空間,只是iPhone屏幕底部狀態欄的大小。下面是我如何解決它:(亞當斯在這裏回答讓我摸不着頭腦):
// In the function that displays an iAD Banner
CGRect contentFrame = self.view.bounds;
CGRect myStatusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
CGFloat statusHeight = myStatusBarFrame.size.height;
// Set the view's origin to be under the status bar.
contentFrame.origin.y = statusHeight;
我需要設置我的觀點的起源是狀態欄的下方,而解決這個問題對我來說。
- 1. affinetransform旋轉,bufferedimages被剪切
- 2. 狀態欄旋轉通知
- 3. Android - 從狀態欄切換到活動
- 4. 在方向切換視圖時停止狀態欄旋轉
- 5. 旋轉GUI.Box導致剪切
- 6. 狀態欄旋轉但UIViewController不是
- 7. 狀態欄下的UIView
- 8. UIView:旋轉+移動
- 9. 無限旋轉UIView並暫停/停止動畫,保持狀態,並繼續從當前狀態旋轉
- 10. CSS旋轉被裁剪
- 11. 自定義狀態欄被SAP的默認狀態欄隱藏
- 12. 禁用UIView的自動旋轉
- 13. 當狀態欄被隱藏時,區域會被裁剪
- 14. 旋轉UIView;如何在旋轉過程中防止裁剪?
- 15. 如何讓UIView在被UILongPressGestureRecognizer觸發時一直拖動到「跳躍」狀態?
- 16. 工具欄被剪切到系統欄下
- 17. 只有狀態欄旋轉到風景(iPhone)
- 18. 如何切換狀態欄?
- 19. 切換ios7狀態欄
- 20. 在Android中旋轉畫布時圖像會被剪切掉?
- 21. 導航欄與狀態欄上旋轉裝置重疊
- 22. UIView旋轉和移動
- 23. 旋轉後調整大小或剪切
- 24. 使用切換控制自動旋轉?
- 25. 導航欄上的自動旋轉條
- 26. 添加自動轉換到Flex狀態
- 27. 旋轉UIView - willRotateToInterfaceOrientation不被稱爲
- 28. UIView旋轉
- 29. 旋轉UIView iPhone
- 30. BezierPath旋轉UIView
謝謝!手動創建我的主視圖控制器後,我一直在努力解決這個問題。控制器中的某些內容(廣告查看彈出窗口)導致視圖中的子項在廣告被解散後通過狀態欄高度進行移位。 – DPlusV 2010-08-23 06:25:06
+1,因爲我浪費了兩個小時試圖找到這個答案! – 2010-11-04 04:49:53