标签:
今天项目中的一个问题是当点击第三方库提供的按钮时,由于动画的效果使得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