如何从 iOS 9 更新已弃用的 statusBarStyle

How to updated a deprecated statusBarStyle from iOS 9

我正在将 iOS 12 和 运行 的 iOS 应用更新到此警告中。

我正在为我的应用更改 AppDelegate.swift 文件中的状态栏。这可以在 didFinishLaunchingWithOptions 函数中找到

UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent

我收到这样的警告:

Setter for 'statusBarStyle' was deprecated in iOS 9.0: Use -[UIViewController preferredStatusBarStyle]

我认为这会是一个简单的更新,但我还没有找到适合我的更新。

我尝试在主 VC 上设置它:

// set the status bar color
override var preferredStatusBarStyle : UIStatusBarStyle {
    return .lightContent
}

但在灯光模式下不显示

当我尝试自己输入覆盖时,这就是我得到的代码提示。

通过 UIApplication documentation,似乎没有替代符号可以设置状态栏样式。相反,我会按照警告指示进行操作:Use -[UIViewController preferredStatusBarStyle].

您可以设置状态栏背景颜色,但这似乎不是您想要的。

鉴于这些限制,Apple 似乎希望我们让视图控制器设置状态栏样式。我不确定为什么从设计的角度来看这更好,但我们似乎没有多少合法的事情可以做。