设置status bar字体颜色的优化方案

来源:互联网 发布:淘宝企业代办 编辑:程序博客网 时间:2024/06/05 14:52
因为View controller-based status bar appearance 设为YES 后,
如果vc属于Nav,VC状态栏的设置就被nav截获了,不能直接控制。所以这种方式不好用。


优化的解决方案是:
View controller-based status bar appearance 设为NO,
在每个vc中用:
[UIApplication sharedApplication].statusBarStyle
设置状态栏字体的颜色。


如下,在重设状态栏前,先把原来的设置记下来,在vc消失时再设回去。
@property (nonatomic, assign) UIStatusBarStyle previousStatusBarStyle;
-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    
    self.previousStatusBarStyle = [UIApplication sharedApplication].statusBarStyle;
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
}


- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    [[UIApplication sharedApplication] setStatusBarStyle:self.previousStatusBarStyle animated:YES];

}


这个作法实际和iOS6是一样的了,此处觉得iOS7中Stautus设置style的方式,设计的并不好。

0 0
原创粉丝点击