hiding a non-translucent uitabbar
<p>I have an app with an UITabBarController and UINavigationControllers as tabs. The bars are all set to be non-translucent. Which means the content area of the view controllers is just in between the bottom of the navigation bar and the top of the tab bar.</p>

<p>Now I would like to hide the UITabBar (on action). I guess for animating this requires a proper extended layout setup - but to start simple one would think this should do the trick without the animation:</p>

<pre><code>if let tabBar = self.tabBarController?.tabBar {
    tabBar.hidden = !visible
}
</code></pre>

<p>While the UITabBar does hide, it only reveals free space behind. The content area of the view controllers does not get adjusted.</p>

<p>How can I force all view controllers inside the tab bar (and subsequently in the navigation controllers) to re-layout?</p>

<p>And why isn't this happening automatically?</p>