设置UIStatusBarStyle(状态栏)的两种方式:
- iOS 9.0之前(9.0之后设置也会生效):
1. 在info.plist里面添加View controller-based status bar appearance 为NO;
2. 在需要的UIViewController的中viewWillAppear或者viewDidLoad设置:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];//UIStatusBarStyle为:UIStatusBarStyleLightContent(状态栏的字体颜色为白色)或者UIStatusBarStyleDefault(状态栏的字体颜色为黑色)。
- iOS 9.0之后
1. 在info.plist里面添加View controller-based status bar appearance 为YES或者info.plist里面就不添加这个View controller-based status bar appearance 的参数字段;
2. 在需要的ViewController中实现- (UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
3. 若是设置后,没有效果,则应该是项目中的ViewController被包含在了UINavigationController中,有了UINavigationController这个东西后,为了ViewController能够调用到自己实现的preferredStatusBarStyle方法,则需要在UINavigationController中做一些东西,添加:两个方法
- (UIViewController *)childViewControllerForStatusBarStyle{
return self.visibleViewController;
}
- (UIViewController *)childViewControllerForStatusBarHidden{
return self.visibleViewController;
}
此时应该搞定。
网友评论