iOS 8 和 7 上的视图框架不同

Posted

技术标签:

【中文标题】iOS 8 和 7 上的视图框架不同【英文标题】:The view's frame on iOS 8 and 7 are different 【发布时间】:2014-09-16 14:46:14 【问题描述】:

我的应用程序中的 UI 对象几乎是由代码生成的。 通常,我从它的超级视图的框架计算对象的框架 (即 self.view.frame @视图控制器)。 我的应用仅使用横向模式。

将我的手机/IDE 更新到 ios 8/Xcode 6 GM 后,对象的大小/位置错误。

在 iOS 7 中,超级视图的帧大小为 568, 320。 现在是 320, 568。

我应该简单地使用 NSFoundationVersionNumber 来确定 true 超级视图的框架吗?

【问题讨论】:

这是 ios 8 的新行为,现在他们开始在逻辑上尊重视图大小。我的意思是他们返回给你具体的维度。 看来我们不能将新的通用故事板用于 iOS 7 以及 iOS 8 应用程序。我们是否应该为每个 iOS 设置单独的故事板? 【参考方案1】:

您可以检查此以获取更多详细信息: 并且您可以使用尺寸等级管理尺寸

https://developer.apple.com/library/prerelease/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html#//apple_ref/doc/uid/TP40014205-SW30

【讨论】:

以上是关于iOS 8 和 7 上的视图框架不同的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7 和 iOS 8 上的不同帧高度

带有视图的 UIView 过渡和设置框架不再适用于 iOS 8

你如何覆盖 iOS 上的故事板元素/视图?

iOS 7 和 iOS 8 中 UIImagepickercontroller 的相机视图上的状态栏重叠

iOS:“标签 - 标签”的错位视图框架在运行时会有所不同

iOS 7 - 透明的 UIView 阻塞手势识别器