使用UINavigationController来管理视图控制器后想在指定页面不显示自带的UINavigationController解决方法:
在需要隐藏NavigationBar的控制器里加入以下两段代码
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.delegate = self;
}
- (void)navigationController:(UINavigationController*)navigationController willShowViewController:(UIViewController*)viewController animated:(BOOL)animated {
if(viewController == self){
[navigationController setNavigationBarHidden:YES animated:YES];
}else{
if ([navigationController isKindOfClass:[UIImagePickerController class]]) {
return;
}
[navigationController setNavigationBarHidden:NO animated:YES];
if(navigationController.delegate == self){
navigationController.delegate = nil;
}
}
}
该控制器需要继承UINavigationControllerDelegate