如何设置UIViewController"扩展边缘"属性

hgw*_*tle 29 uiviewcontroller ios ios7

我在Storyboard中看到以下选项,用于在navBars/tabBars下扩展UIViewController视图的边缘:

在此输入图像描述

但是如何在代码中为所有ViewControllers全局设置这些属性?与手动检查/取消选中Storyboard中的每个ViewController相反.

die*_*rld 67

iOS7中有几个新属性来控制这些设置.

edgesForExtendedLayout告诉应该扩展哪些边缘(左,右,上,下,全,无或任何组合).延伸底边等于"Under Bottom Bars"刻度线,延伸顶边等于"Under Top Bars"刻度线.

extendedLayoutIncludesOpaqueBars告诉我们是否应该在不透明的条形下自动扩展边缘.因此,如果将这两个设置组合在一起,则可以模拟代码中任何界面构建器标记的组合.

  • 这两个是每个UIViewController子类的属性.所以,如果你有一个名为mainViewController的MainViewController实例,你只需编写mainViewController.extendedLayoutIncludesOpaqueBars = YES; 等等. (2认同)

Sha*_*yag 14

如果您不想扩展到任何边缘,只需添加:

let viewController = UIViewController()
viewController.edgesForExtendedLayout = []
Run Code Online (Sandbox Code Playgroud)