Как установить свойства UIViewController "expand edge"

Я вижу следующие варианты в Storyboard для расширения краев представления UIViewController в navBars/tabBars:

enter image description here

Но как мне установить эти свойства глобально для всех моих ViewControllers в коде? В отличие от ручной проверки/снятия отметки на каждом ViewController в раскадровке.

Ответ 1

В iOS7 есть несколько новых свойств для управления этими настройками.

edgesForExtendedLayout указывает, какие края должны быть расширены (слева, справа, сверху, снизу, все, ни одна или любая их комбинация). Расширение нижнего края равно отметке "Under Bottom Bars", при этом верхний край равен отметке "Under Top Bars".

extendedLayoutIncludesOpaqueBars указывает, должны ли края автоматически расширяться под непрозрачными полосками. Поэтому, если вы объедините эти два параметра, вы можете имитировать любую комбинацию тиков компоновщика интерфейса в вашем коде.

Ответ 2

Если вы не хотите распространяться на любые ребра, просто добавьте:

let viewController = UIViewController()
viewController.edgesForExtendedLayout = []