I'm making an application using UITabBarController and UINavigationController.
The view controller diagram look like this:
TabBar Controller > Navigation Controller > View Controller
At the first view controller I'm set navigation bar to hidden. But when I clicked on TabBar items to show other view controller then clicked back to first view controller the navigation bar was shown. Whenever I added in all other view controllers:
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = NO;
}
-(void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
self.navigationController.navigationBarHidden = YES;
}
Anyone know how to set my navigation bar in first view controller to always hide? Please help. Thank in advance.
if you are in some view controller have to use this method:
[self.navigationController setNavigationBarHidden:YES animated:YES];
To hide Navigationbar in any viewController :
Objective-C
- (void)viewWillAppear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:YES animated:animated]; // Will hides Navigationbar
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
[self.navigationController setNavigationBarHidden:NO animated:animated]; // Will shows Navigationbar
[super viewWillDisappear:animated];
}
Swift
override func viewWillAppear(animated: Bool) {
self.navigationController?.setNavigationBarHidden(true, animated: animated)
super.viewWillAppear(animated)
}
override func viewWillDisappear(animated: Bool) {
self.navigationController?.setNavigationBarHidden(false, animated: animated)
super.viewWillDisappear(animated)
}