UINavigationBar重叠到状态栏ios7

时间:2013-10-14 02:33:18

标签: ios uinavigationcontroller storyboard ios7

我在Xcode 5中使用UINavigationBar(没有导航控制器)和storyboard,我的项目工作正常,没有重叠状态栏,因为ios 7状态栏结构已经变为透明度。

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

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

谢谢...

1 个答案:

答案 0 :(得分:0)

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

- (UIRectEdge) edgesForExtendedLayout {
return UIRectEdgeNone;
}

这定义了VC在Apple容器VC中的行为方式,例如UITabbarControllerUINavigationControllerUIRectEdgeNone意味着不要低于导航栏,标签栏或两者。
这个解决方案也适用于ios6,因为iOS6中的这个方法从未被调用过。如果你执行self.edgesForExtendedLayout,这将在iOS6上崩溃,因为不支持该方法。我建议你使用除了硬编码视图或窗口框架的方法之外的任何东西,你永远不会知道苹果可以做什么。