美文网首页
iOS 状态栏颜色

iOS 状态栏颜色

作者: 草原烈鹰 | 来源:发表于2017-08-29 10:00 被阅读17次

设置UIStatusBarStyle(状态栏)的两种方式:

  1. 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(状态栏的字体颜色为黑色)。

  1. 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;
}

此时应该搞定。

相关文章

网友评论

      本文标题:iOS 状态栏颜色

      本文链接:https://www.haomeiwen.com/subject/zjomrxtx.html