说明:
info.plist 添加 View controller-based status bar appearance 对电池栏的设置是有影响的:
1、为NO, UIApplication.shared.statusBarStyle 生效,
此方法已被废弃2、为YES时,UIApplication.shared.statusBarStyle失效,UIController 中
设置 override var preferredStatusBarStyle: UIStatusBarStyle {return 对应颜色 } , 必须调用super.setNeedsStatusBarAppearanceUpdate() 生效
默认:不需要再info.plist中添加,直接使用 preferredStatusBarStyle设置电池栏
注意:无论下列哪种方法设置,当controller嵌入UINavigationController时,
必须在自定制navigationController添加如下,否则设置电池样式,只会作用在navigationController中
//必须在自定制navigationController添加如下,否则设置电池样式,只会作用在navigationController中 override var childForStatusBarStyle: UIViewController? { return self.topViewController }
方法1:
info.plist 添加 View controller-based status bar appearance 对应值为YES,
在 UIController 中设置
viewController中设置: override public var preferredStatusBarStyle: UIStatusBarStyle { //style为需要显示的样式 default、lightContent, (ios13 later: 有darkContent, default 会根据 是否是DarkMode,自主选择使用lightContent、darkContent) return statusBarstyle } //需要改变出,设置此值 var statusBarstyle: UIStatusBarStyle = .default { didSet { //此方法一定调用的,才可以 super.setNeedsStatusBarAppearanceUpdate() } }
方法2:
info.plist 添加 View controller-based status bar appearance 对应值为NO,
需要改变的地方设置如下
//设置电池栏为黑色 if #available(iOS 13.0, *) { UIApplication.shared.statusBarStyle = .darkContent } else { UIApplication.shared.statusBarStyle = .default }