最初我从 IOS6 开发了 xcode 项目。现在我需要使其与 IOS7 兼容。当我这样做时,导航栏出现了一些问题。当我在 IOS 7 上运行时,当前 View 覆盖在导航栏上,你可以见第一张图片。
为了解决这个问题,我添加了以下代码
self.edgesForExtendedLayout=UIRectEdgeNone
它解决了我的问题..但是当我这样做时,我遇到了新问题..我失去了导航栏的透明度..你可以在下一张图片中看到。
最佳答案
如果您的 viewController 有 xib 文件,只需转到 Size 检查器并在“iOS 6/7 Deltas” 部分中进行设置delta-y = 44 (导航栏的高度)这个 View 。
并确保在“查看为:” 字段中的文件检查器中iOS 7.0 及更高版本 选项被选中(如果您使用 XCode 5,则为默认选项)。
更新 : 也有另一种成功的方法,但这太棘手了,我认为第一种更好。您可以添加以下代码:
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 7.0) {
CGRect rect = aView.frame;
rect.origin.y += 44;
aView.frame = rect;
}
关于ios - 导航栏透明度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21334991/