iOS7 的视图大小和位置
Posted
技术标签:
【中文标题】iOS7 的视图大小和位置【英文标题】:View size and position for iOS7 【发布时间】:2013-08-02 09:13:45 【问题描述】:我在 ios7 和 iOS6 中遇到了一个奇怪的问题。如果有人可以帮助我。
问题: - 在 iOS6 和更早版本中,视图坐标在 NavigationBar 之后开始,但在 iOS7 中,视图坐标在 StatusBar 之后开始并在视图中计算 NavigationBar。因此,在 iOS6 中看起来不错的东西在 iOS7 中将被破坏。 NavigationBar 在 iOS7 中隐藏了 View 的前 44 px。
我试图在互联网上搜索,但找不到任何合适的解决方案。我可以按 iOS7 条件务实地安排视图。但我知道这不是正确的方法。因此,如果您知道如何解决此问题,请指导我。我附上了 2 个屏幕截图,一个来自 iOS6,另一个来自 iOS7,以便您更好地了解问题。
【问题讨论】:
有关测试版软件的问题自动过于本地化。但是,如果您从 iOS 7 开始,您应该查看转换指南、WWDC 2013 视频和苹果开发者论坛。您遇到的“问题”随处可见,包括“解决方案”。 嗨 Sulthan,感谢您的评论,但如果您知道答案,您应该发布答案。如果您有特定链接,您也可以发布它,这将有助于我和其他人。 回答这个问题会违反我与 Apple 的保密协议 (NDA)。顺便说一句,您提出问题并发布屏幕截图已经违反了您的保密协议。我无法添加任何链接,因为所有信息仅适用于注册的 Apple 开发者。 【参考方案1】:虽然 iOS 7 仍处于测试阶段。但是根据当前文档,您可以检查版本并相应地加载您的组件。请参阅此link(您需要先登录开发者门户)。
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1)
// Load resources for iOS 6.1 or earlier
else
// Load resources for iOS 7 or later

【讨论】:
您好,感谢您的评论,Interface Builder 还有其他方法可以设置视图坐标始终在 NavigationBar 之后开始吗? 我认为到目前为止还没有这样的方法。一种解决方法是在此处放置一个额外的导航栏,并根据操作系统将其隐藏为真或假。以上是关于iOS7 的视图大小和位置的主要内容,如果未能解决你的问题,请参考以下文章
运行 iOS7 模拟器时 UIViewController 视图大小不正确