状态栏与导航栏的颜色不同

时间:2017-10-22 18:55:28

标签: ios11 xcode9 swift4 uistatusbar

我有一个导航控制器,我用一些颜色着色我的导航栏,我希望状态栏(显示载体,wifi符号等)使用相同的颜色。

因此,在Info.plist中,我已将View controller-based status bar appearance equal设置为NO。在Target > Deployment Info我设置了Status Bar Style > Light

enter image description here

我可以看到状态栏现在确实正在使用" light"文字的样式是浅色/白色。但状态栏背景仍然与导航栏不同,如下所示。我怎么能纠正这个?

enter image description here

1 个答案:

答案 0 :(得分:6)

你必须这样使用:

if let statusBar: UIView = UIApplication.shared.value(forKey: "statusBar") as? UIView {
    statusBar.backgroundColor = UIColor.purple
}

如果要更改整个应用的状态栏颜色,请在appdelegate->didFinishLaunchingWithOptions中使用它。或者,如果您想要更改任何特定屏幕,请在特定viewDidLoad

中调用它