更改状态栏背景颜色

Posted

技术标签:

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

这完全让我感到困惑..

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

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

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

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

【问题讨论】:

如果它对您有所帮助,您应该接受 trevorj 的回答以表示感谢! 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

- (UIStatusBarStyle)preferredStatusBarStyle

    return UIStatusBarStyleLightContent;

【讨论】:

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

以上是关于更改状态栏背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在iOS 7上更改状态栏背景颜色和文本颜色? Warif Akhand Rishi

如何更改android状态栏的背景颜色

使用 UIStatusBarManager 更改状态栏背景颜色

更改状态栏的背景颜色

更改 UINavigationBar 外观背景图像时状态栏颜色更改

swift xcode更改状态栏(背景颜色)