ios设置状态栏样式。


一、第一种方式:

(1)在App生命周期里面设置

设置状态栏字体为白色

[[UIApplication   sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];

设置状态栏字体为黑色

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];

当然直接设置是无效果的,需要在plist里面设置View controller-based status bar appearance 为No

设置完后发现问题解决了。然而控制台会打印一行代码:Status bar could not find cached time string image. Rendering in-process,而且是定时打印,有没有很恶心,如果感觉没问题想省事的也可以不管,毕竟app没有崩溃,对于追求完美的人(貌似要得罪人)建议使用第二种方法。

二、第二种方式

(1)在试图控制器中重写- (UIStatusBarStyle)preferredStatusBarStyle方法。

该方法返回是一个UIStatusBarStyle,只要重写该方法,当前视图控制器的状态栏颜色就会改变。记得plist里面设置View controller-based status bar appearance 为YES(这个是默认的设置,如果设置为No的话记得删掉或改为YES)。

建议将这个方法封装在一个父基类里面,所有的控制器都继承这个父类就好了。

- (UIStatusBarStyle)preferredStatusBarStyle {

return UIStatusBarStyleLightContent;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。