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

IOS开发—禁止视图控制器自动调整status bar的风格

时间:2015-05-28 00:55:05      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

    今天项目中的一个问题是当点击第三方库提供的按钮时,由于动画的效果使得status bar字体颜色会自动的变成黑色,但是status bar的背景为黑色,所以看起来就像是status bar消失了一样,但是按钮是第三方库中的内容,无法修改,这里我想到的是禁止status bar中的字体颜色自动改变。具体实现如下:

1、在项目的.plist文件中添加新的key:UIViewControllerBasedStatusBarAppearance

2、设置此key的value为NO

3、在didFinishLaunchingWithOptions: 方法中添加下面一行代码:

application.statusBarStyle = UIStatusBarStyleLightContent;
这样,status bar就会一直是白色状态。

这是一种方法,其实还有另外一种方式可以解决这个问题,在apple官方的TransitionGuide.pdf文件中已经详细的说明了:

技术分享

第一种方法就如第一段所说:

    动态改变系统状态栏的一个好方法是重写 preferredStatusBarStyle 方法,用一个动画模块来更新状态栏外观,并调用 setNeedsStatusBarAppearanceUpdate 方法。 

第二种方法即为我用的,也即是Note中所说的内容:

    不让视图控制器自动的调整status bar的风格,需要在Info.plist文件中添加UIViewControllerBasedStatusBarAppearance的key,并且将其value设置成为NO,然后调用UIApplicationstatusBarStyle方法设置其风格即可。

IOS开发—禁止视图控制器自动调整status bar的风格

标签:

原文地址:http://my.oschina.net/are1OfBlog/blog/420813

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