You can animate the transition to the navigation bar. See more details -setNavigationBarHidden:animated:.
If you need to do this based on each controller, simply override the management -viewDidAppear:and -viewWillDisappear:view controller methods , for example:
- (void) viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.navigationController setNavigationBarHidden:YES animated:YES];
}
- (void) viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.navigationController setNavigationBarHidden:NO animated:YES];
}
The above will hide the navigation bar when this view controller is placed on top of the navigation stack, and show the navigation bar when the view controller pops up.
You can call -setNavigationBarHidden:animated:whenever you want, but these two methods are useful for applying a large number of user interface changes.
source
share