一句话:不要想太多,先把单个VC的状态栏的颜色改成自己想要的颜色。
自从iOS 7 以后,一共有三个可以管理状态栏颜色的角色:UIApplication单例,单个UIViewController,UINavigationBar。
如果我们用其中一个修改不了状态栏颜色的时候,请尝试另外两个。
- 方法一
//这个方法需要在info.plist文件中配置一下,告诉系统,状态栏的管理角色是UIApplication单例。
//到info.plist中,设置View controller–based status bar appearance 为NO
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
- 方法二
//系统默认info.plist中,View controller–based status bar appearance 为YES,也就是由当前的VC 控制状态栏的颜色
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
- 方法三
//前提条件是,当前vc在navigationController的viewcontrollers数组中。(就是当前VC有navigationController)
[self.navigationController.navigationBar setBarStyle:UIBarStyleDefault];
或者统一设置:
[UINavigationBar appearance].barStyle = UIBarStyleBlack;