iOS 设置电池栏两种方式

说明:

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
}

你可能感兴趣的:(iOS暗黑,电池栏)