iOS隐藏状态栏

在iOS开发中有两种隐藏状态栏的方法,具体操作请看下面:

一. 首先在info.plist中添加View controller-based status bar appearance,设置为YES,这个时候View controller对status bar的控制级别要优先于application的设置。然后添加下面方法:

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
        [self prefersStatusBarHidden];
        [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate) withObject:nil];
    }
}

-(BOOL)prefersStatusBarHidden{
    return YES;
}

二. info.plist中View controller-based status bar appearance设置为NO,这个时候application对状态栏的控制优先与View controller,view controller的prefersStatusBarHidden方法无效,是不会被调用的。

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [[UIApplication sharedApplication] setStatusBarHidden:YES];
}

在iOS9.0后苹果比较推荐方法一。

你可能感兴趣的:(ios,隐藏状态栏,ios开发,导航)