【问题标题】:Separate colors for viewcontroller background and statusbar background视图控制器背景和状态栏背景的不同颜色
【发布时间】:2025-03-06 15:50:01
【问题描述】:

我希望导航栏和状态栏背景为蓝色,而视图控制器的其余部分为白色背景。我希望应用程序中的所有视图控制器都使用此功能。当然,我的 BaseViewContrller 中有状态栏:

self.view.backgroundColor = UIColor.blue

但这会导致整个视图控制器变蓝。添加白色 UIView 并将其限制在安全区域是唯一的选择,还是有一种简单的方法可以实现这一点?

【问题讨论】:

  • 您可以在导航控制器中更改状态栏颜色

标签: ios swift uiview uiviewcontroller


【解决方案1】:

是的,因为您正在设置 ViewController 的 view 背景颜色,而不是 navigationBar 背景颜色。而是设置导航栏的背景颜色

navigationController?.navigationBar.backgroundColor = .blue

【讨论】:

  • 要设置statusBar背景,我们必须改变Viewcontroller的视图背景。
  • @Kashif 为什么?导航栏转到屏幕顶部。
  • 我会补充一点,可能还需要 navigationControler?.navigationBar.barTintColor = .blue。