View controller-based status bar appearance 的作用
info.plist文件中,View controller-based status bar appearance项设为YES,则View controller对status bar的设置优先级高于application的设置。为NO则以application的设置为准,view controller的prefersStatusBarHidden方法无效,不会被调用的。
iOS系统提供的枚举值有
UIStatusBarStyleDefault = 0, // Dark content, for use on light backgrounds 默认黑色
UIStatusBarStyleLightContent 白色
一. info.olist设置View controller-based status bar appearance 为 YES
这时 view controller中对status bar的设置优先级高于application的设置
颜色设置
1.可通过重写控制器中的方法
-(UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleDefault;
}
来设置状态栏颜色
2.或者如果有UINavigationBar的情况下也可以通过对应的
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
方法来设置状态栏颜色
隐藏状态栏设置
调用
[self setNeedsStatusBarAppearanceUpdate];
View controller 重写实现
-(BOOL)prefersStatusBarHidden
{
return YES ;
}
二. info.olist设置View controller-based status bar appearance 为 NO
这时application 中对status bar的设置优先级高于view controller的设置
颜色设置
1.可通过代码
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
设置状态栏颜色
2.或者通过info.plist文件 Status bar style 设置状态栏颜色
隐藏状态栏设置
方法
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];