iOS开发之状态栏的设置
2017-02-25 本文已影响115人
云天大侠_general
iOS开发之状态栏的设置
- 状态栏的字体为黑色:
UIStatusBarStyleDefault
- 状态栏的字体为白色:
UIStatusBarStyleLightContent
0x01、设置样式的方法
iOS6 -- iOS9 :
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
iOS7 -- iOS9 :
- (UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;
}
iOS7以后以上两种方法都能修改状态栏样式。
注意:第一种方法修改的是全局样式;第二种方法修改的是局部样式(只影响当前控制器状态栏的样式)。
iOS开发】强制修改 iOS 状态栏颜色
下面截图给出修改 iOS 状态栏颜色的 4 种方式
方法一
![](https://img.haomeiwen.com/i1441864/3bf157f41300a502.png)
方法二
![](https://img.haomeiwen.com/i1441864/2ec084ca18bee851.png)
方法三
![](https://img.haomeiwen.com/i1441864/051dd0597256c8f8.png)
方法四
![](https://img.haomeiwen.com/i1441864/f858c986bc765831.png)
0x02.说明
其中第四张图中的代码,直接写在你的任何一个 ViewController 的 class 里面就可以。
然而,以上 4 种方法存在两个问题:1.无法在某一个 ViewController 里面任意切换2.优先级不够高,可能会失效
下面祭出第 5 种方法:首先去 Info.plist 里面,把 UIViewControllerBasedStatusBarAppearance 设置为 NO.
![](https://img.haomeiwen.com/i1441864/18b86510ffd73373.png)
然后在你想要改变状态栏颜色的任何地方,写下面这行代码
UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.Default, animated: true)
或
UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true)