iOS 7 以前:状态栏由 UIApplication 管理
1.隐藏状态栏 : application.statusBarHidden = NO;
2.设置状态栏样式 : application.statusBarStyle = UIStatusBarStyleLightContent;
iOS 7 开始,状态栏管理交给对应的控制器去管理
1.隐藏状态栏 : 重写
- (BOOL)prefersStatusBarHidden{ return NO; }
2.设置状态栏样式: 重写
- (UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; }
iOS 7开始修改状态栏方法:
- 在plist里增加一行 UIStatusBarStyle,选择UIStatusBarStyleDefault 或者UIStatusBarStyleLightContent
- 代码设置:[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
- 重写方法:- (UIStatusBarStyle)preferredStatusBarStyle{ return UIStatusBarStyleLightContent; }
iOS 9之后会出现修改没效果:
- 在plist文件添加 View controller-based status bar appearance 设置成No,默认为Yes