将状态栏颜色设置为与导航栏相同

Set Statusbar color to same as Nav Bar

我希望我的应用程序的状态栏与我的导航栏具有完全相同的颜色。我发现更改状态栏颜色的方法是创建一个状态栏大小的视图并更改背景颜色。

然而,即使我使用导航栏中的颜色选择器来设置视图的颜色,我也会得到 2 种完全不同的颜色,如下图所示。

我试过使用颜色选择器进行混合、更改不透明度等,但我始终无法找到正确的颜色。关于如何为状态栏获得完全相同的颜色有什么想法吗?

当您设置 self.navigationController.navigationBar.barTintColor 的值时,UIStatusBar 的颜色会自动设置为与 UINavigationBar 的颜色匹配。您是否需要单独设置它们?

您可以执行以下操作:

  1. 创建一个仅包含所需颜色且大小为 64x1 的 UIImage。您可以在代码中渲染该图像。
  2. 将图像设置为导航栏的背景图像。就像是: navigationController.navigationBar.setBackgroundImage(图片,用于:.default)