如警告所述,如果使用UIStatusBarManager
,则无法设置样式。
因为statusBarManager
是只读属性。请查看此处。
open var statusBarStyle: UIStatusBarStyle { get }
你需要重写preferredStatusBarStyle
方法
像这样
class ViewController: UIViewController {
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
如果您想要在所有视图控制器中更改状态栏样式,可以在 Info.plist
文件中进行设置。
步骤 1:
添加 View controller-based status bar appearance
键,并将值设置为 No
。
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
步骤二:添加状态栏样式
键并将样式设置为浅色内容
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
如果你想基于控制器设置不同的样式,那么请按照以下步骤进行操作:
第一步:
添加
View controller-based status bar appearance
键,并将值设置为
Yes
。
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
步骤2:在视图控制器中覆盖
preferredStatusBarStyle
。
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
这是一篇关于如何设置状态栏样式的好文章。