隐藏导航栏/状态栏
隐藏状态栏:
第一步:在info.plist 文件里增加两个类型(Type)为bool 选项, Status bar is initially hidden 设为YES;View controller-based status bar appearance 设为NO;
第二步:在想要隐藏状态栏的页面的写代码:[UIApplicationsharedApplication].statusBarHidden=YES;
另外,值得一说的是: 隐藏状态栏和隐藏 导航条 所用到的原理与性质一样, 在一个页面A隐藏了,其它与他有关的页面B(如Apush到B)的状态栏/导航栏也会被隐藏,如果不想隐藏某个页面的状态栏/导航条,则可以在viewWillAppear:(BOOL)animated 里写[UIApplicationsharedApplication].statusBarHidden=NO/ self.navigationController.navigationBarHidden = NO;
隐藏导航栏
1、隐藏导航栏方式一
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self setNavigationBarHidden:YES animated:YES];
}
该方法虽然可以达到效果,但是需要在每个控制中的每个显示和注销的
- (void)viewWillAppear:(BOOL)animated
- (void)viewWillDisappear:(BOOL)animated
添加一段代码, 而且会影响手势滑动返回
方式二:用导航栏的代理
设置代理
self.navigationController.delegate = self;
实现代理方法
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated{
BOOL isHiddenNavBar = [viewController isKindOfClass:[self class]];
[self.navigationController setNavigationBarHidden:isHiddenNavBar animated:YES];
}