xcode7下IOS状态栏的颜色

之前设置状态栏颜色的时候,只是

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

这样就好了,可是在xcode7下,就是没有反应,该怎么办呢,网上找办法呗,最后找了一个,方法如下

1.plist设置statusBar

在plist里增加一行 UIStatusBarStyle(或者是“Status bar style”也可以),这里可以设置两个值,就是下面两个 
UIStatusBarStyleDefault 和 UIStatusBarStyleLightContent

这样在app启动的launch页显示的时候,statusBar的样式就是上面plist设置的风格。

2.程序代码里设置statusBar

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];  

或者

//相对于上面的接口,这个接口可以动画的改变statusBar的前景色  
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
采用上述方法后,发现只有刚进程序,过渡页的状态栏被修改为白色,进入程序后依然是黑色,继续找呗,又找到方法如下

1、在info.plist中,将View controller-based status bar appearance设为NO.

2、在app delegate中:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

经过两次的寻找,都找到各自的优势,最后总结了下。

改变不了的原因是:

在 info.plist  中,将 View controller-based status bar appearance  设为 YES ,或者没有设置。

View controller-based status bar appearance的默认值就是YES。

如果View controller-based status bar appearance为YES。

则[UIApplication sharedApplication].statusBarStyle 无效。

故此方法如下;

1、在info.plist中,将View controller-based status bar appearance设为NO.

2、在plist里增加一行 UIStatusBarStyle(或者是“Status bar style”也可以),这里可以设置两个值,就是下面两个 
UIStatusBarStyleDefault 和 UIStatusBarStyleLightContent

3、[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

经过上面三个步骤,经测试,状态栏全部变为白色。


你可能感兴趣的:(iOS)