很多需求中,我们可能都需要改变系统默认的状态栏的颜色,今天写程序时,发现以前的方法都过时了,所以总结一下下:
在iOS9之前,当我们需要改变状态栏颜色时,可以直接在AppDelegate里面设置,如下所示:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
并且在info.plist文件中设置View controller-based status bar appearance 为 NO
但今天我去修改的时候,发现这个方法已经被ios9废弃了:
由上面可知,iOS9之后这方法被preferredStatusBarStyle替代了,就如大家看到的的,这是一个UIViewController里面的方法的,所以我们需要在UiViewController的类里面操作;
所以一般在你的rootViewController里面添加如下代码,设置白色,如下所示:
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
如果还是没改变看你的info.plist文件中是否有View controller-based status bar appearance 这个属性,如果有看是否为YES,为YES的话应该就能成功的,效果图如下所示: