In iOS 10, preferredStatusBarStyle
is a property, not a method. So instead of overriding it with a func
declaration as you've done, you override the getter with a var
declaration:
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
The Swift compiler's error message here could probably be better — since it seems to know your override func is supposed to cover a property, it could probably offer that as a fix-it. I'd recommend filing a bug to Swift open source.
Note: in iOS 12, you may also need to set the UIViewControllerBasedStatusBarAppearance
(aka "View controller-based status bar appearance") flag in your Info.plist. And check your view controller hierarchy, as container view controllers like navigation and split view might not propagate this from their children.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…