0

我有几个为 iOS 6 开发的应用程序,暂时需要同时在 6 和 7 中工作(直到我们在未来某个时候放弃 6)。所有视图都是以编程方式生成的。对于UIViewController嵌套的 inside UINavigationController,通过将其添加到来修复底层视图的几何形状是相当简单的viewDidLoad

if ([self respondsToSelector:@selector(edgesForExtendedLayout)]){
    self.edgesForExtendedLayout = UIRectEdgeNone;
}

然而,当我有一个“裸体” viewController——没有导航栏直接呈现——我必须将每个视图(至少是那些具有硬编码frame.origin.y值的视图)显式地偏移状态栏的高度,这似乎效率低得多。有没有更优雅的方法来处理这种情况?

4

1 回答 1

0

如果您使用 Autolayouts,您应该查看属性topLayoutGuidebottomLayoutGuideof UIViewController(在 iOS7 中引入)。如果您的视图控制器没有嵌套在容器视图控制器(例如导航控制器)中,他们也会处理这种情况

顶部布局指南

底部布局指南

于 2013-09-30T13:02:17.007 回答