在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后苹果比较推荐方法一。