iOS状态栏颜色 只有两种
状态栏的字体为黑色:UIStatusBarStyleDefault
状态栏的字体为白色:UIStatusBarStyleLightContent
很多产品都不可能只设计一种状态栏,一般导航栏不为白色就需要换成白色状态栏,达到界面美观,怎样灵活控制呢?
1、修改info.plist
在info.plist中,将 View controller-based status bar appearance 设为 NO. (系统默认为yes)
2、由于大部分push出来的页面都是用黑色的状态栏,在基类Baseviewvontroller中的统一设置
- (void)viewDidLoad {
[super viewDidLoad];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
}
3. 有些叼专的页面要玩点小花样就陪它玩,在需要变的控制器里viewWillAppea方法实现;
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
//状态栏颜色
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
}
说点自己的想法,为什么这样操作就达到效果了。
由于所有创建的控制器继承于baseviewcontroller,都会先走baseviewcontroller 的 viewDidLoad ,达到不管什么操作出来的界面都是 统一设置的颜色;
单独修改怎么做到呢,在调用baseviewcontroller的 viewDidLoad后肯定还要执行自己的viewWillAppear。
附上:info文件配置
配置.png
*只限本人的想法,如果有什么不对的,或者更好的解决方案,希望不吝赐教
网友评论