码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 修改状态栏preferredStatusBarStyle不执行问题

时间:2016-11-11 11:46:59      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:ima   问题   black   sel   pre   nav   images   status   har   

一、在老版本的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不执行问题

标签:ima   问题   black   sel   pre   nav   images   status   har   

原文地址:http://www.cnblogs.com/AntonyGu/p/6053576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!