修改NavigationController中present出来的个别ViewController状态栏颜色

2016年11月29日 iOS 暂无评论 阅读482次


修改NavigationController中present出来的个别ViewController状态栏颜色


对于整体都是push方式展示ViewController的应用,一般来说状态栏都是白色字体,但偶尔还会有presentViewController的情况,此时present出来的ViewController的背景默认是白色的,这样就导致状态栏上的运营商、信号、时间、电量等信息看不清了。

下面是针对个别present出来的ViewController临时修改状态栏颜色风格的代码。

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    // 这个页面被加载之后,状态栏设置为黑色
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
}


- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    // 页面即将消失时,状态栏再转为白色
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
}


参考了jianshu上的一篇文章,抱歉地址没有记下来,那篇文章是swift实现的,并且状态栏设置为黑色的代码是放在viewDidLoad中,经过我的实验测试证明,viewDidLoad中去修改状态栏为黑色会在页面再次跳转到某一页面返回后重新变得状态栏为白色。


分享本文至:

WRITTEN BY

avatar
本文标签:NavigationController
看了本文是不是觉得很赞,那就赶紧点击下面按钮分享给身边的朋友吧!

欢迎留言




用户登录

sitemap