iOS 如何优雅的控制状态栏颜色

2018-11-24  本文已影响58人  HH思無邪
状态栏.gif

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

*只限本人的想法,如果有什么不对的,或者更好的解决方案,希望不吝赐教

上一篇下一篇

猜你喜欢

热点阅读