如何更改iOS 7中的状态栏文字颜色

我的应用程序背景较暗,但在iOS 7中,状态栏变得透明。 所以我看不到任何东西,只有角落里的绿色电池指示器。 如何将状态栏文本颜色更改为白色,就像它在主屏幕上一样?


  • 在.plist文件中将UIViewControllerBasedStatusBarAppearance设置为YES

  • viewDidLoad做一个[self setNeedsStatusBarAppearanceUpdate];

  • 添加以下方法:

    - (UIStatusBarStyle)preferredStatusBarStyle
    { 
        return UIStatusBarStyleLightContent; 
    }
    
  • 注意 :这不适用于UINavigationController控制器,请参阅下面的Tyson评论:)

    Swift 3 - 这将工作在UINavigationController内的控制器。 将此代码添加到您的控制器中。

    // Preferred status bar style lightContent to use on dark background.
    // Swift 3
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
    

    或者,您可以选择退出基于视图控制器的状态栏外观:

  • Info.plist中将View controller-based status bar appearanceNO
  • 调用[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
  • 注意:此方法在iOS9中已被弃用。 改为在UIViewController上使用preferredStatusBarStyle 。 (请参阅Apple开发者库)


    你可以在不写任何代码的情况下做到这一点!
    通过整个应用程序执行以下操作以使状态栏文本颜色变为白色

    在你项目plist文件上:

  • 状态栏风格: Transparent black style (alpha of 0.5)
  • 查看基于控制器的状态栏外观: NO
  • 状态栏最初隐藏: NO
  • 链接地址: http://www.djcxy.com/p/25891.html

    上一篇: How to change Status Bar text color in iOS 7

    下一篇: How do I animate constraint changes?