iOS导航栏隐藏
2017-10-12 14:03
204 查看
简介
我们在项目中经常遇到.从二级控制器跳转到不需要导航栏的控制器中,经常用的就是下面第一种做法:第一种做法
-(void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBarHidden = YES; [super viewWillAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { self.navigationController.navigationBarHidden = NO; [super viewWillDisappear:animated]; }
但是,有时候第一种方法不起作用;我们就需要设置self为导航控制器的代理,实现代理方法,在将要显示控制器中设置导航栏隐藏和显示,使用这种方式不仅完美切合滑动返回手势,同时也解决了切换tabBar的时候,导航栏动态隐藏的问题.
第二种做法
@interface viewController ()<UINavigationControllerDelegate> @end @implementation viewController - (void)viewDidLoad { // self.navigationController.navigationBarHidden = YES; [super viewDidLoad]; // Do any additional setup after loading the view. [self setUpUI]; // 设置导航控制器的代理为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]; }
相关文章推荐
- iOS 开发隐藏导航栏代码
- ios之导航渐变---/导航透明/隐藏导航栏以及手势返回遇到的问题,状态栏,tabbarItem角标
- iOS 隐藏导航栏
- iOS中隐藏导航栏的方法
- iOS 7.1的Safari为meta标签新增minimal-ui属性,在网页加载时隐藏地址栏与导航栏
- iOS导航栏的正确隐藏方式
- iOS 设置导航栏 返回按钮文字隐藏
- iOS 导航栏的隐藏以及右滑返回的问题
- iOS之旅--隐藏(去除)导航栏底部横线
- ios 找出导航栏下面的黑线(可隐藏,改变样式等)
- //IOS 隐藏导航栏下面黑色分割线
- iOS---实现简书和知乎的上滑隐藏导航栏下拉显示导航栏效果
- iOS 优雅地隐藏导航栏NavigationBar (Objc)
- iOS隐藏导航栏尽量用set方法,不要用点。。。会出BUG。。。
- ios显示或隐藏导航栏的底线
- iOS自定制导航栏返回按钮或者隐藏导航栏pop手势失效解决方案
- 两种iOS隐藏导航栏的正确方法
- 关于iOS开发中隐藏导航栏的问题
- iOS界面跳转过程中导航栏和tabBar的隐藏与显示
- iOS导航栏自动隐藏和显示属性,UINavigationController属性