美文网首页
隐藏导航栏 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