美文网首页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