您好我現在面臨一個奇怪的問題。我將一個UIViewController添加到Window的RootViewController。 我已將我的ViewControllerXIB的自動調整設置爲MaskAll。當我在橫向模式下使用iOS 7在iPad上運行我的項目時,屏幕尺寸爲(1024,768)。但是當我在iOS 8上運行iPad時,屏幕尺寸爲(768,1024)。我無法弄清楚爲什麼會發生這種情況。由於這個我ViewController的子視圖不加載適當的屏幕大小,因爲我傳遞他們的ViewController的屏幕大小。 有人能幫我解決這個問題嗎?讓不同幀RootViewControllers爲iOS 7和iOS 8
0
A
回答
4
但是,當我在iOS 8上運行iPad時,屏幕尺寸爲(768,1024)。
這是因爲在iOS 7和之前版本中,應用旋轉涉及將旋轉變換應用到根視圖控制器的視圖,而窗口和屏幕仍保留固定在設備上。但在iOS 8中,整個應用程序從字面上旋轉。這是一個主要更改,如果您期待旋轉變換,它確實會破壞您的現有代碼。另一方面它也好多了 - 在iOS 8中,旋轉意味着屏幕,窗口,根視圖控制器的視圖都只是改變大小(它們交換它們的高度和寬度) - 這意味着如果你的應用程序啓動到風景它從一開始就具有正確的尺寸。
如果您需要在iOS 8的純設備座標,你可以用新的UICoordinateSpace協議(https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICoordinateSpace_protocol/)得到它們。
+0
我應該補充說,基本上你以前做的事情一直是錯的。你不應該看屏幕大小,而是用約束來定位你的視圖。這樣,你的界面就可以適應超級視圖可能採用的任何尺寸。 (請觀看WWDC 2014視頻,讓您的應用適應性更多地瞭解這一新理念......) – matt 2014-10-09 04:32:14
相關問題
- 1. tableviewcell內部視圖高度不同於ios 7和ios 8
- 2. UIPopoverController - 同時支持iOS 7和8
- 3. CGSize爲ios版本7和8提供了不同的值
- 4. 的Youtube API在IOS 7和IOS 8
- 5. 在iOS 7中工作不是iOS 8
- 6. Xcode 7,iOS 8,MacSierra和舊iOS 6和7的兼容性?
- 7. UITableViewCell在iOS 8上的高度不同(與iOS 7相比)
- 8. 不同的行爲 - iOS 6和iOS 7 - 困惑
- 9. 調用willRotateToInterfaceOrientation時iOS 7和iOS 8的mainScreen邊界大小不同
- 10. 爲iOS 10 IOS 8
- 11. 在iOS的8和iOS 9種不同的行爲相同的代碼
- 12. ios 7和8的xCode 6約束
- 13. 如何構建應用程序以同時運行ios 7和ios 8?
- 14. 目標的不同rootviewcontrollers
- 15. iOS中8和iOS 9
- 16. UIScrollview contentOffset在iOS 6和iOS 7中有所不同
- 17. [UIScreen mainScreen] .bounds.size iOS 7和iOS 8之間的區別
- 18. 如何在iOS 7和iOS 8中鎖定設備方向
- 19. 更改CFBundleName的後果? iOS 7和iOS 8
- 20. 警報,可以在iOS 7和iOS 8上工作
- 21. iOS 6和iOS 7開發
- 22. 使用iOS 8在uitableview中顯示的圖像不同於iOS 7
- 23. 爲iOS 8
- 24. REFrostedViewController和iOS 8
- 25. iOS 7但不是iOS的警告dismissViewController錯誤8
- 26. 約束條件適用於iOS 8,但不適用於iOS 7
- 27. 動畫問題在iOS 7但不在iOS 8
- 28. SKSpriteNode沒有顯示在iOS 8的,而不是在iOS的7
- 29. 從iOS 7升級到iOS 8後,didDiscoverPeripheral不會被調用
- 30. TabBars和iOS 7
見http://stackoverflow.com/questions/24150359/is-uiscreen-mainscreen-bounds-size-becoming-orientation-dependent-in-ios8這是相同的基本問題。 – rmaddy 2014-10-09 03:51:09
從iOS的所有早期版本中,iOS 8中的Landscape的屏幕尺寸報告發生了變化。我忘記了哪個WWDC視頻被提及,所以我不能指出你的文檔。 – 2014-10-09 03:51:43