gpt4 book ai didi

ios - 为 iOS 7 和 iOS 8 的 Root View Controller 获取不同的框架

转载 作者:行者123 更新时间:2023-11-28 19:00:36 26 4
gpt4 key购买 nike

您好,我遇到了一个奇怪的问题。我正在向 Window 的 RootViewController 添加一个 UIViewController。我已将 ViewControllerXIB 的自动调整大小设置为 MaskAll。当我在 iOS 7 的 iPad 上以横向模式运行我的项目时,我得到的屏幕尺寸为 (1024,768)。但是当我在装有 iOS 8 的 iPad 上运行时,我得到的屏幕尺寸为 (768,1024)。我无法弄清楚为什么会这样。由于这个原因,我的 ViewController 的 subview 没有加载正确的屏幕尺寸,因为我将 ViewController 的屏幕尺寸传递给它们。有人可以帮我解决这个问题吗?

最佳答案

But when I run on iPad with iOS 8, I get the screen size as (768,1024).

这是因为在 iOS 7 及之前的版本中,应用旋转涉及对 Root View Controller 的 View 应用旋转变换,而窗口和屏幕仍固定在设备上。但在 iOS 8 中,整个应用程序确实在旋转。这是一个主要更改,如果您期望旋转变换,它确实会破坏您现有的代码。另一方面它也好得多——在 iOS 8 中,旋转意味着屏幕、窗口、 Root View Controller 的 View 都简单地改变大小(它们交换它们的高度和宽度)——这意味着如果你的应用启动到横向它从一开始就有正确的尺寸。

如果您需要 iOS 8 中的纯设备坐标,您可以使用新的 UICoordinateSpace 协议(protocol) ( https://developer.apple.com/library/ios/documentation/UIKit/Reference/UICoordinateSpace_protocol/ ) 获取它们。

关于ios - 为 iOS 7 和 iOS 8 的 Root View Controller 获取不同的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26269876/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com