Navigation bar jumps out from under status bar?
ios, ios7, uiviewcontroller
Solution
Another simple trick is do this:
In the MasterViewController
When is preparing for Segue:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
[UIView transitionWithView:self.navigationController.view
duration:0.75
options:UIViewAnimationOptionTransitionFlipFromRight
animations:nil
completion:nil];
}
And when Unwind the AboutViewController
- (IBAction)aboutUnwind:(UIStoryboardSegue *)segue {
[UIView transitionWithView:((UIViewController *)segue.sourceViewController).view
duration:0.75
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:nil
completion:nil];
}
Problem
I have a button in my main view controller that pushes a navigation controller with an embedded view controller using a segue. When the new view controller is presented, the navigation bar on it briefly appears under the status bar. (The status bar is not hidden.) The contents (which are relative to the top layout guide) are in the correct location. As soon as the animation is complete, it fixes itself. When the view is dismissed again, the same thing happens: the main view controller briefly overwrites the status bar. For the main view controller, this is a little more significant as it's based on a `UITableViewController`; the entire table jumps. Again, when the animation is complete the view controller fixes itself. I've tried turning off translucency on the navigation bar, but it only makes the problem more obvious. All of this works as expected on iOS 6. I've uploaded a minimalist test case here: https://github.com/tewha/FlipTest