【问题标题】:UIScreen mainScreen bounds different between simulator and actual device on iOS8UIScreen mainScreen 在iOS8上的模拟器和实际设备之间的界限不同
【发布时间】:2014-09-24 19:11:44
【问题描述】:

在我使用的 iOS7 应用中:

screenRect = [[UIScreen mainScreen] bounds];
screenWidth = screenRect.size.width;
screenHeight = screenRect.size.height;

然后我使用 screenHeight 来加载关于设备是 iPhone 4 还是 iPhone 5 的不同视图。

主要问题是,当我检查 iOS 8 的应用程序时,模拟器以横向返回交换值,因此 screenHeight vas 实际上是 screenWidth 并且它加载了错误的视图。好的,我解决了这个问题,但我们还没有在 App Store 上发布任何更新,因为应用程序在装有 iOS 8 的实际设备上运行良好。它加载了正确的视图。

iOS8 的实际设备在横向返回值与以前在 iOS7 上一样,但在模拟器 iOS 8 上,这些值按应有的方式交换。现在我很难决定是否更新。

有人知道发生了什么吗?

谢谢你,马杰

【问题讨论】:

    标签: device simulator bounds uiscreen mainscreen


    【解决方案1】:

    屏幕坐标现在是基于 iOS8 的方向。查看 WWDC 2014 的第 214 场会议以了解更多信息:“View Controller Advancements in iOS 8

    演讲中的引述:

    UIScreen 现在是面向界面的:

    1. [UIScreen 边界] 现在面向界面
    2. [UIScreen applicationFrame] 现在面向界面
    3. 状态栏框架通知是面向界面的
    4. 键盘框架通知是面向界面的

    【讨论】:

      猜你喜欢
      • 2015-03-06
      • 2015-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-06
      • 1970-01-01
      相关资源
      最近更新 更多