1

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

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

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

谢谢 ...

4

1 回答 1

0

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

- (UIRectEdge) edgesForExtendedLayout {
return UIRectEdgeNone;
}

这定义了您的 VC 在 Apple 容器 VC 中的行为方式,例如UITabbarControlleror UINavigationControllerUIRectEdgeNone表示不低于导航栏、标签栏或两者。
该解决方案也适用于 ios6,因为从未调用过 iOS6 中的此方法。如果这样做self.edgesForExtendedLayout会在 iOS6 上崩溃,因为该方法不受支持。我建议你使用除了硬编码视图或窗口框架的方法之外的所有方法,你永远不知道苹果接下来会做什么。

于 2013-10-14T06:24:13.587 回答