Autolayout ignores UITabBar (content under the bar) on iOS7

Jacek Kwiecień picture Jacek Kwiecień · Sep 23, 2013 · Viewed 7.1k times · Source

I've set UITabBar as Opaque in Storyboard, but i still seems to be transulcent. When I set my custom UITabBarController with setBarStyle there is only OpaqueBlack availible.

But that the least of the problem. No matter what I do, content of my view gets positioned under the tab bar, like it ignored by ayutolayout. On Storyboard everything looks fine. something messes up in the runtime?

Oh the most important thing. The problem occurs on iOS7 only!

Here are my ViewController settings in storyboard:

enter image description here

And here is problematic content (UITableView) which gets positioned under the UITabBar on ios7 app. Looks fine in storyboard though:

enter image description here

And finally UITableView constraints:

enter image description here

Answer

Jacek Kwiecień picture Jacek Kwiecień · Sep 23, 2013

Putting this on viewDidLoad, solves the problem:

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
    [self setEdgesForExtendedLayout:UIRectEdgeNone];
}