Need wantsFullScreenLayout behavior with NON-translucent bars on iOS 7

spybart picture spybart · Oct 4, 2013 · Viewed 19.1k times · Source

I want to be able to have my view cover the whole screen (go behind the navigation and tool bars) with the translucent property of the navigationBar and toolbar set to NO (I want non-transparent bars).

This was easy to accomplish prior to iOS 7 by setting wantsFullScreenLayout to YES. However, in iOS 7, I can't find any way of doing this. Any ideas?

Answer

Aaron picture Aaron · Oct 4, 2013

wantsFullScreenLayout is deprecated at iOS 7. Try setting your view controller's edgesForExtendedLayout property to UIRectEdgeAll

The iOS 7 Transition Guide mentions a few of the new view controller differences on page 17. However, the documentation states that if you're using opaque bars (as in your case) you should also set:

extendedLayoutIncludesOpaqueBars = YES;

EDIT

.. because by default it is NO. This conflicts with the iOS 7 Transition Guide which states the default value is YES. Be warned.