UINavigationBar与状态栏ios7重叠



我在带有情节提要的 Xcode 5 中使用 UINavigationBar(没有导航控制器),我的项目在没有重叠状态栏的情况下运行良好,因为 ios 7 状态栏结构已更改为透明。

我已经尝试了几种方法来修复重叠(对我来说没有好结果)。我认为苹果推动开发人员使用导航控制器(非常法西斯,如"国家社会主义"公司)

有没有办法修复ios 7中没有导航控制器类的重叠?

谢谢。。。

周围有很多答案,每个答案都定义了特定的行为。在您的情况下,您可能需要设置edgesForExtendedLayout。在 VC 子类中写入:

- (UIRectEdge) edgesForExtendedLayout {
return UIRectEdgeNone;
}

这定义了您的 VC 在 Apple 容器 VC(例如 UITabbarControllerUINavigationController )中的行为方式,UIRectEdgeNone意味着不扩展到导航栏、选项卡栏或两者以下。
此解决方案也适用于ios6,因为iOS6中的此方法从未被调用过。如果您这样做self.edgesForExtendedLayout这将在iOS6上崩溃,因为该方法不受支持。我建议你使用除硬编码视图或窗口框架的方法之外的所有方法,你永远不会知道苹果下一步能做什么。

最新更新