美文网首页iOS Developer - TipsiOSiOS开发
【iOS开发】强制修改 iOS 状态栏颜色

【iOS开发】强制修改 iOS 状态栏颜色

作者: KyXu | 来源:发表于2015-10-11 22:28 被阅读17936次

下面截图给出修改 iOS 状态栏颜色的 4 种方式

Target.png Info.plist.png Storyboard.png code.png

其中第四张图中的代码,直接写在你的任何一个 ViewController 的 class 里面就可以。

然而,以上 4 种方法存在两个问题:
1.无法在某一个 ViewController 里面任意切换
2.优先级不够高,可能会失效

下面祭出第 5 种方法:
首先去 Info.plist 里面,把 UIViewControllerBasedStatusBarAppearance 设置为 NO.


info.plist.png

然后在你想要改变状态栏颜色的任何地方,写下面这行代码<code><pre>UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.Default, animated: true)</pre></code>或

UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true)

相关文章

网友评论

  • iManuQiao:第五种方法成功,谢谢!
  • Bonew01:没效果???
  • 咔客:oc 怎么改啊?求指教啊、、、、
  • coding_Liu:那style是固定样式? 我要弄个别的色什么的能实现嘛
    coding_Liu:@KyXu 哦,我也发现了,需要自定义一个控件放在上面
    KyXu:@听雨翎 显然这个 style 是不能自定义的,你要自定义的话,技术上可以实现,但是系统不会给你提供方法,你要自己写
  • 屈涯:我试试
  • 412e9de446ec:setbackgroundimage
  • 十一岁的加重: 修改iOS 状态栏文字颜色两种:白色,黑色
  • Sheepy:第五种方法iOS9不推荐了,虽然能用但会报错
    KyXu:@Sheepy 我确实看到了『doing so is not recommended』的字样,但是并没有找到可以替代这个方法的实现途径(目前只知道这个方法可以在同一个 ViewController 里面实现状态栏颜色的多次任意转换),可以指教一下吗?
    Sheepy:@徐开源 没说是代码的问题,之前大家也都这么用的。只是现在苹果不建议用这个了,你去看API的话会发现注释上写着建议用UIViewController里声明的一个方法了
    KyXu:@Sheepy 这个报错是 Xcode 7 的 bug,不是代码的问题

本文标题:【iOS开发】强制修改 iOS 状态栏颜色

本文链接:https://www.haomeiwen.com/subject/yrqocttx.html