iphoneuinavigationcontrollerthree20

View controller is drawing under my navigation bar after popping ttthumbsviewcontroller


I'm implementing the TTThumbsViewController from the Three20 project and things are finally starting to take shape. I push the TTThumbsViewController from the current view controller by just pushing it onto the current stack and animate the transition (common navigation controller push).

My problem is that when I pop the TThumbsViewController view controller, the navigation controller is stuck in a mode where its view controllers are drawn UNDER the navigation bar (which is now translucent).

Start

alt text

Push

alt text
(source: ncsu.edu)

Pop

alt text
(source: ncsu.edu)


Solution

  • You need to reconfigure the original style of the status bar, navigation bar & tool bar when your view reappears. You can do this by implementing viewWillAppear: in your view controller:

    - (void)viewWillAppear:(BOOL)animated {
      [super viewWillAppear:animated];
    
      UINavigationController* navController = self.navigationController;
      navController.navigationBar.barStyle = UIBarStyleDefault;
      navController.navigationBar.tintColor = [UIColor redColor];
      navController.toolbar.tintColor = [UIColor redColor];
    
      [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
    }