您的位置:首页 > 其它

如何在不同的controller下设置不同的状态栏颜色

2015-07-10 14:26 477 查看
上篇说的是将应用中所有的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
原文  http://blog.csdn.net/gaoyp/article/details/38441723
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: