首页 > 代码库 > iOS 修改状态栏preferredStatusBarStyle不执行问题
iOS 修改状态栏preferredStatusBarStyle不执行问题
一、在老版本的iOS中,状态栏永远都是白色风格。而在iOS 7中,我们可以修改每个view controller中状态栏的外观。通过UIStatusBarStyle常量可以指定状态栏的内容是暗色或亮色。默认情况下,状态栏的显示是暗色。也就是说,状态栏上的时间、电池指示器和Wi-Fi信号显示为暗色。如果导航栏中使用暗色为背景,那么看起来的效果如下图所示:
如上图这种情况下,我们可能希望将导航栏的风格修改为亮色。这里有两个方法可以实现。在iOS 7中,我们可以在每个view controller中overridingpreferredStatusBarStyle:
方法,如下所示:
- (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; }
PS:此法的只有在设置了以下代码才会被调用(对于preferredStatusBarStyle不执行问题):
[self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];
上面代码的效果如下图所示:
二、在iOS 7中,通过上面的方法来修改状态栏风格非常的棒。另外,我们也可以使用UIApplication的statusBarStyle方法来设置状态栏,不过,首先需要停止使用View controller-based status bar appearance
。在project target的Info tab中,插入一个新的key,名字为View controller-based status bar appearance
,并将其值设置为NO。
然后就可以使用下面的代码来设置状态栏风格了:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
iOS 修改状态栏preferredStatusBarStyle不执行问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。