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

rga*_*ber 5 uistatusbar swift4 ios11 xcode9

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

所以Info.plist,我已经开始View controller-based status bar appearance equalNO.在Target > Deployment Info我设置Status Bar Style > Light:

在此输入图像描述

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

在此输入图像描述

Vin*_*App 7

你必须这样使用:

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

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