ios UINavigationController隐藏UINavigationBar

使用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

发布了7 篇原创文章 · 获赞 4 · 访问量 303

猜你喜欢

转载自blog.csdn.net/qq_41586150/article/details/103763452