一:统一设置状态栏风格
>前提:在info.plist 中添加 View controller-based status bar appearance并设置为NO 意为:不基于单个控制器设置状态栏风格
方法一:
TAGGETS->General->Deployment Info-> Status Bar Style 选择Light(前景色为白色)Default(前景色为黑色 即默认)
方法二:
AppDelegate.m 中增加 application.statusBarStyle = UIStatusBarStyleLightContent
二:单独设置每个控制器的状态栏风格
>前提:在info.plist 中添加 View controller-based status bar appearance 并设置为YES 意为:基于单个控制器设置状态栏风格
第一种情况:控制器在当前NavigationController中
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
//设置状态栏
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewDidAppear:animated];
//重置状态栏
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
}
第二种情况:控制器不在当前NavigationController中
在控制器中重写
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}