hgwhittle hgwhittle - 1 month ago 12
iOS Question

How to set UIViewController "extend edges" properties

I see the following selections in Storyboard for extending the edges of a UIViewController's view under navBars/tabBars:

enter image description here

But how do I set these properties globally for all of my ViewControllers in code? As opposed to manually checking/unchecking on every ViewController in Storyboard.

Answer

There is a couple of new properties in iOS7 to control those settings.

edgesForExtendedLayout tells what edges should be extended (left, right, top, bottom, all, none or any combination of those). Extending bottom edge equals "Under Bottom Bars" tick, extending top edge equals "Under Top Bars" tick.

extendedLayoutIncludesOpaqueBars tells if edges should be automatically extended under the opaque bars. So if you combine those two settings you can mimic any combination of interface builder ticks in your code.