隐藏导航栏/状态栏

隐藏状态栏:

第一步:在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];
}

results matching ""

    No results matching ""