iOS开发之顶部状态栏statusBar颜色变化小结
1.单个视图View没有导航控制器包装的情况下
(1.只设置启动状态栏颜色改变(白色),而视图中状态栏不变化(默认黑色),做如下的设置即可,两种方式不管先设置哪一个,另一个都会相应的变化
a. General 中的 Status Bar Style --> Light
b. plist 中增加 Status Bar Style --> UIStatusBarStyleLightContent
(2).设置启动状态栏颜色改变(白色),视图中的状态栏也变成白色(保持上面的设置),有两种设置方式:
a. 在Info.plist里面添加一行View controller-based status bar appearance = NO 即可
b.在视图控制器中添加代码
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
(3).设置视图中状态栏的颜色为白色,启动程序时的状态栏为默认颜色(黑色),没有做1.中的任何设置情况下,在控制器.m文件中添加如下代码(即2.->b.)
2.视图作为导航控制器的根控制器的情况下
(1) .设置启动画面的状态栏为白色,视图中的状态栏为默认(黑色),如1.->1.中的设置即可,
(2) .设置启动画面和视图中的状态栏颜色都为白色(保持2.->1.中的设置),方式同样有两种:
a.在Info.plist里面添加一行View controller-based status bar appearance = NO 即可
b.此时如果单单在视图控制器.m文件中添加如下代码是不够的,
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
同时需要在导航控制器.m文件中添加下面的代码才能达到效果(careful)
- (UIViewController *)childViewControllerForStatusBarStyle{
return self.topViewController;
}
(3).只设置视图控制器状态栏颜色为白色,启动画面的状态栏为默认(黑色),把Info.plist文件中的 Status bar style = UIStatusBarStyleLightContent设置去掉,保持2.->2.->b.中的代码设置即可