【问题标题】:Change status bar background color更改状态栏背景颜色
【发布时间】:2015-09-26 13:47:48
【问题描述】:

这完全让我感到困惑..

我已经更改了每个地方的每种颜色以使状态栏背景颜色发生变化,但由于某种原因它仍然停留在旧颜色上。

是否有任何代码可以将其强制为我需要的颜色?

我已删除所有颜色参考,现在只剩下..

//Status Bar
    [application setStatusBarHidden:NO];
    [application setStatusBarStyle:UIStatusBarStyleLightContent];

【问题讨论】:

  • 如果它对您有所帮助,您应该接受 trevorj 的回答以表示感谢!

标签: ios statusbar


【解决方案1】:

您可以创建一个 UIView,将其背景颜色设置为您想要的任何颜色,将其框架设置为 (0,0,view.bounds.size.width,20)(状态栏高 20 点),然后将其添加为主视图的子视图。我认为状态栏在 iOS 7 中没有自己的背景颜色属性。您可以在 Interface Builder 或代码中执行此操作。

This answer 也可能对您的问题有所帮助。

【讨论】:

    【解决方案2】:

    将此方法添加到您的视图控制器

    - (UIStatusBarStyle)preferredStatusBarStyle
    {
        return UIStatusBarStyleLightContent;
    }
    

    【讨论】:

    • 这会改变文本的颜色,但不会改变背景。背景颜色有简单的代码吗?
    • @RobertMellor 状态栏本身是透明的。所以它背后的任何东西都会显示出来。您可以添加一个 20 像素高的 uiview,并将其设置为背景颜色。