上篇说的是将应用中所有的controller下的状态栏都设置成浅色(或者白色),但在实际项目中有时候会根据需要将不同的controller场景下的状态栏设置成不同的颜色风格,那么就要根据具体的情况在相应的controller下单独进行额外的设置。
下面借鉴网友的一篇帖子说明一下,先给出不同的效果图:
图一:
图二:
图一展示的是白色背景下的黑色默认标题栏状态,图二则是在深色背景下的白色标题栏状态;
具体的做法就是,首先在info.list中添加两个属性,一个是
另一个是:
设置好两个变量后,如果不做其他代码修改,那么所有的controller的状态栏的颜色都是浅色的。
根据实际需求,在appdelegate中添加代码
[UIApplicationsharedApplication].statusBarStyle =UIStatusBarStyleLightContent;//设置全部为白色;
然后在需要特殊处理的controller的viewWillAppearance方法中添加如下代码:
[UIApplicationsharedApplication].statusBarStyle =UIStatusBarStyleDefault;//将格式恢复为默认的黑色状态
然后在该controller的viewWillDisappear方法中添加:
[UIApplicationsharedApplication].statusBarStyle =UIStatusBarStyleLightContent;//再次调整为白色样式。
以上是整个的设置流程,如果上面info.list的第二个属性没有添加并设置为NO,则后面做的样式改变将都不会生效。
最后附上网友的经验分享,感谢前辈的分享~~
http://www.tuicool.com/articles/vIbMry