iOS 从有导航的界面pop回没有导航的界面,导航栏闪现白色问题的解决方案

第一步:
创建一个BaseNavgationController 继承UINavgationController,并保证app框架建立在BaseNavgationController基础上。
在BaseNagationController 重写 pushViewController方法

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated{
    
    if (self.childViewControllers.count > 0) {
        
        /* 自动显示和隐藏tabbar */
        viewController.hidesBottomBarWhenPushed = YES;
        
    }
    
    [super pushViewController:viewController animated:animated];
    [self setNavigationBarHidden:NO animated:YES];
}

在你需要隐藏导航栏的界面中的viewWillAppear中

- (void)viewWillAppear:(BOOL)animated {
    
    [super viewWillAppear:animated];
    
    [self.navigationController setNavigationBarHidden:YES animated:YES];

}

就可以了

你可能感兴趣的:(iOS 从有导航的界面pop回没有导航的界面,导航栏闪现白色问题的解决方案)