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

原创 2015年07月10日 14:26:42

上篇说的是将应用中所有的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




版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/r614288863/article/details/46830403

iOS单个界面改变改变状态栏颜色

改为白色 默认黑色 - (UIStatusBarStyle)preferredStatusBarStyle{     return UIStatusBarStyleLight...
  • chuan403082010
  • chuan403082010
  • 2017-04-21 08:36:32
  • 1134

iOS开发之全面讲解的改变系统顶部状态栏的颜色变化

1.单个视图View没有导航控制器包装的情况下默认情况下,启动状态栏和进入程序后的状态栏都是默认的颜色-黑色,如下图:默认情况.gif1.只设置启动状态栏颜色改变(白色),而视图中状态栏不变化(默认黑...
  • hbblzjy
  • hbblzjy
  • 2017-03-29 16:12:42
  • 1246

ios让两个controller的navigationbar颜色不同

主要思路是让navigationbar的背景色变成透明,而title和baritem的tintcolor不变,并且添加自定义的颜色的view在navigationbar的位置步骤 在navigatio...
  • a83988029
  • a83988029
  • 2015-12-23 15:39:36
  • 1168

iOS-设置某些页面的状态栏样式

全局页面状态栏样式白色Light之前项目中是全局的白色状态栏样式,可以在 plist文件中添加以下选项,然后在Base控制器中写一句代码就可以实现全局状态栏白色的状态。 [[UIApplicatio...
  • fanxiaomeng92
  • fanxiaomeng92
  • 2017-05-23 21:18:46
  • 1245

iOS设置状态栏颜色

状态栏默认(黑色)风格:UIStatusBarStyleDefault 状态栏白色风格:UIStatusBarStyleLightContent 一、在info.plist中,将View contr...
  • songecit
  • songecit
  • 2016-12-14 14:00:49
  • 2160

iOS开发技巧:设置状态栏字体颜色

状态栏的字体为黑色:UIStatusBarStyleDefault 状态栏的字体为白色:UIStatusBarStyleLightContent 一、在info.plist中,将View cont...
  • iOSbird
  • iOSbird
  • 2016-10-09 16:51:12
  • 15807

android 状态栏颜色的两种设置模式

现在的很多app的状态栏的颜色A都设置的跟ActionBar颜色一样,这样看起来会比较舒服一些,也比较美观,不会觉得上面秃了一块,特别是强迫症患者。。 像图片这样。。看起来很不爽,所以就看看能不能...
  • a641832648
  • a641832648
  • 2016-10-14 17:42:26
  • 10167

Android Activity嵌套Fragment可以自行修改状态栏字体颜色为黑还是白色

以前遇到了这样的问题。一直没有好的解决办法。后来。有人推荐了这个。所以写出来保存一下 原文地址     http://www.jianshu.com/p/2a884e211a62 Git 地址  ...
  • a872822645
  • a872822645
  • 2017-10-23 10:23:37
  • 709

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

上篇说的是将应用中所有的controller下的状态栏都设置成浅色(或者白色),但在实际项目中有时候会根据需要将不同的controller场景下的状态栏设置成不同的颜色风格,那么就要根据具体的情况在相...
  • r614288863
  • r614288863
  • 2015-07-10 14:26:42
  • 678

ios 设置状态栏背景颜色

第一种方法: [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque; self.na...
  • ruilianpeng
  • ruilianpeng
  • 2015-03-27 08:41:32
  • 229
收藏助手
不良信息举报
您举报文章:如何在不同的controller下设置不同的状态栏颜色
举报原因:
原因补充:

(最多只允许输入30个字)