美文网首页
隐藏导航栏 NavigationBar

隐藏导航栏 NavigationBar

作者: 纯阳子_ | 来源:发表于2018-04-19 14:09 被阅读10次

    转自 : 链接:https://www.jianshu.com/p/1f72cd2771fe

    第一种方法

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

    第二种方法,代理方法,这种方法强烈推荐,因为push出来的ViewController不会有黑色条:

      @interface WLHomePageController () <UINavigationControllerDelegate>
    
      @end
    
      @implementation WLHomePageController 
    
      #pragma mark - lifeCycle
      - (void)viewDidLoad {
          [super viewDidLoad];
    
         // 设置导航控制器的代理为self
         self.navigationController.delegate = self;
      }
    
      #pragma mark - UINavigationControllerDelegate
     // 将要显示控制器
      - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
          // 判断要显示的控制器是否是自己
          BOOL isShowHomePage = [viewController isKindOfClass:[self class]];
    
          [self.navigationController setNavigationBarHidden:isShowHomePage animated:YES];
      }
    
      - (void)dealloc {
          self.navigationController.delegate = nil;
      }
    

    相关文章

      网友评论

          本文标题:隐藏导航栏 NavigationBar

          本文链接:https://www.haomeiwen.com/subject/sxqzhftx.html