这个问题在这里已有答案:
我正在为iOS 12更新iOS应用程序并遇到此警告。
我正在为我的应用程序更改AppDelegate.swift文件中的状态栏。这可以在didFinishLaunchingWithOptions函数中找到
UIApplication.shared.statusBarStyle = UIStatusBarStyle.lightContent
我收到一条警告:
'statusBarStyle'的setter在iOS 9.0中已弃用:使用 - [UIViewController preferredStatusBarStyle]
我认为这将是一个简单的更新,但我没有找到一个对我有用的更新。
我尝试在主VC上设置它:
// set the status bar color
override var preferredStatusBarStyle : UIStatusBarStyle {
return .lightContent
}
但它没有以光模式显示。
当我尝试自己键入覆盖时,这就是我得到的代码提示。
通过UIApplication documentation,似乎没有替代符号来设置状态栏样式。相反,我会做警告指示:Use -[UIViewController preferredStatusBarStyle]
。
您可以设置状态栏背景颜色,但这似乎不是您正在寻找的。
鉴于这些限制,似乎Apple希望我们让视图控制器设置状态栏样式。从设计的角度来看,我不确定为什么这样做会更好,但似乎没有太多合法的东西我们可以做些什么。