之前设置状态栏颜色的时候,只是
[[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;
经过上面三个步骤,经测试,状态栏全部变为白色。