我知道UI元素看起来会有所不同,这不是我所担心的。我在Xcode 5中创建了一个简单的应用程序,只在状态栏下面显示一个标签。在iOS 7中,这看起来很好。但是,当我在iOS 6设备上运行应用程序时,标签显示在状态栏下方太远。我知道在iOS 7中,y = 0是屏幕的顶部而不是状态栏的底部,所以我理解为什么这种情况正在发生,但我无法弄清楚如何修复它。我已经看到使用self.edgesForExtendedLayout = UIRectEdgeNone
的解决方案,以及其他在Autolayout关闭时在Interface Builder中使用增量的解决方案,但是这些都不适用于我。
如何解决这个问题(在使用Autolayout的同时)?如果系统版本是iOS 6.1或更早版本,必须有一个更好的方法,而不仅仅是从视图的位置减去20像素。
答案 0 :(得分:2)
您可以尝试在nib文件中使用UIViews上的iOS6 / 7增量。 它位于你的UIView的尺寸检查员。
答案 1 :(得分:2)
我认为您正在寻找的答案就在本技术说明中。 (简而言之:应用垂直空间约束锚定到视图控制器的顶部布局指南。)
技术Q& A QA1797:防止状态栏覆盖您的状态 观看https://developer.apple.com/library/ios/qa/qa1797/_index.html