分两步,一步是在Info.plist里面增加View controller-based status bar appearance值设置为no
第二步在UIViewController里的viewWillApper或viewDidAppear里面加入[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]
我是在appdelegate设置,并进行版本判断
if(version>=7.0) {
[[UIApplicationsharedApplication]setStatusBarStyle:UIStatusBarStyleLightContentanimated:NO];
}
顺带说2个问题,导航栏用self.navigationBar.barTintColor=JMColor(33,38,46,1.0);直接设置背景颜色的话,会导致titleview像浮在上面一样:
但是加上上面两步就可以解决了:
然后push的时候会出现蓝色返回样式,可加入以下两句代码:
self.navigationController.navigationBar.barStyle=UIStatusBarStyleDefault;
[self.navigationController.navigationBarsetTintColor:[UIColorwhiteColor]];