我在 Storyboard 中看到以下选择,用于在 navBars/tabBars 下扩展 UIViewController 视图的边缘:
但是如何在代码中为我的所有 ViewController 全局设置这些属性?与手动检查/取消检查 Storyboard 中的每个 ViewController 不同。
我在 Storyboard 中看到以下选择,用于在 navBars/tabBars 下扩展 UIViewController 视图的边缘:
但是如何在代码中为我的所有 ViewController 全局设置这些属性?与手动检查/取消检查 Storyboard 中的每个 ViewController 不同。
iOS7 中有几个新属性可以控制这些设置。
edgesForExtendedLayout
告诉应该扩展哪些边(左、右、上、下、全部、无或这些的任意组合)。扩展底部边缘等于“Under Bottom Bars”刻度,扩展顶部边缘等于“Under Top Bars”刻度。
extendedLayoutIncludesOpaqueBars
告诉边缘是否应该在不透明条下自动延伸。因此,如果您将这两个设置结合起来,您就可以在代码中模拟界面构建器刻度的任何组合。
如果您不想扩展到任何边缘,只需添加:
let viewController = UIViewController()
viewController.edgesForExtendedLayout = []
在 Objective-C 中:
- (void) viewDidLoad {
[super viewDidLoad];
[self initVars];
}
- (void) initVars {
self.edgesForExtendedLayout = UIRectEdgeTop | UIRectEdgeLeft | UIRectEdgeRight | UIRectEdgeBottom;
self.extendedLayoutIncludesOpaqueBars = YES;
}
您想要的属性是:
self.edgesForExtendedLayout = UIRectEdgeTop | UIRectEdgeBottom;