Because of the blurred bars in iOS7, a UIViewController‘s frame now starts from the very top of the screen (behind the status bar), all the way to the bottom (behind any tab bars, if present). Previously the content would begin below a navigation bar and extend to the top of a tab bar, or to the bottom depending on your UIVC setup. This is a pretty big change. If you build an older app on iOS7, your positioning is probably going to be messed up a bit.
However, this changes again under certain conditions… If your UIViewController is contained within a UINavigationController with it’s navigationBars’ translucent property set to NO, then the content will start from beneath the navigation bar, as per the old way of doing things. Translucency means the view is see through, so obviously if it isn’t then there’s no point extending the view above the bar if it’s not going to make any visual changes. This also applies to a UITabBarController‘s tabBar, where the view controller’s view will only extend up to the top of the bar.
- (void)viewDidLoad
{
[super viewDidLoad];
self.tabBarController.tabBar.translucent=NO;
}
When i first enter the dialog (using the tabbar) everything is ok:
Now if i change via the tabbar to another dialog and return to the first dialog again something strange is showing up:
As you can see a grey "space" wich is excatly matching the tabbar's heigh is sitting above the tabbar?
Is there probably a error in the repaint event of your QuickDialog Controller?
Thanks for your help!
Andreas