0

在我的 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 上,这些值按应有的方式交换。现在我很难决定是否更新。

有人知道发生了什么吗?

谢谢你,马杰

4

1 回答 1

0

屏幕坐标现在是基于 iOS8 的方向。查看 WWDC 2014 的第 214 节会议以获取更多信息:“查看 iOS 8 中的控制器进步

演讲中的引述:

UIScreen 现在是面向界面的:

  1. [UIScreen bounds] 现在面向界面
  2. [UIScreen applicationFrame] 现在面向界面
  3. 状态栏框架通知是面向界面的
  4. 键盘框架通知是面向界面的
于 2014-11-10T12:28:49.410 回答