版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1338219
之前写过设置状态栏字体颜色的方法即第二种方法,最近又学习一种一步搞定的方法即第一种方法
第一种方法:(如果在NavigationController中需做些设置,后文会提到)
// 设置状态栏的颜色为白色
{
returnUIStatusBarStyleLightContent;
}
第二种方法:
第一步在plist文件中添加View controller–based status bar appearance 为NO
第二步://设置状态栏字体颜色
application setStatusBarStyle:UIStatusBarStyleLightContent;
补充:
第二种方法是在iOS9之前使用的,iOS9之后就不被建议使用了。
至于第一种方法,也是有局限性的,就是当在NavigationController中此方法是不被调用的,需要使用方法:
// 设置状态栏的前景色为白色
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
如果此时导航栏上的颜色不是我们所想要的我们可以利用下面的方法设置导航栏的颜色:
// 设置导航栏的颜色为黑色
[self.navigationController.navigationBarsetBarTintColor:UIColorblackColor];
改错:
最近发现“补充”中的东西有错,特此修改。"补充"中修改状态栏颜色的代码并不能改变状态栏的颜色,要想在NavigationController改变状态栏的颜色需要重写NavigationController的preferredStatusBarStyle方法。代码:
{
NSLog(@"导航栏-%s",__func__);
return self.topViewController preferredStatusBarStyle;
}
然后再在当前控制器中重写preferredStatusBarStyle方法。