iOS 状态栏颜色

设置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;
}

此时应该搞定。
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容