要在视图控制器上动态更新 UIStatusBarStyle,请使用此方法
这也将删除已弃用的警告
'setStatusBarStyle:' 已弃用:在 iOS 9.0 中首次弃用 - 使用 -[UIViewController preferredStatusBarStyle]
打电话
[[UIApplication sharedApplication] setStatusBarStyle:style];
让我们开始吧
目标 - C
定义 UtilityFunction
+(void)setStatusBarStyle:(UIStatusBarStyle )style {
[[NSUserDefaults standardUserDefaults] setInteger:style forKey:@"UIStatusBarStyle"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
在您的 BaseViewController
中覆盖此方法
- (UIStatusBarStyle)preferredStatusBarStyle {
UIStatusBarStyle style = [[NSUserDefaults standardUserDefaults] integerForKey:@"UIStatusBarStyle"];
return style;
}
使用如下的 UtilityFunction 为 AnyViewController 设置 UIStatusBarStyle 值:
[UtilityFunctions setStatusBarStyle:UIStatusBarStyleDefault];
// call below code for preferred style
[self preferredStatusBarStyle];
Swift 4.0
定义 UtilityFunction
class func setPreferedStyle(style:UIStatusBarStyle)->Void {
UserDefaults.standard.set(style, forKey: "UIStatusBarStyle")
UserDefaults.standard.synchronize()
}
在您的 BaseViewController
中覆盖此方法
override var preferredStatusBarStyle: UIStatusBarStyle {
if let style: UIStatusBarStyle = UIStatusBarStyle(rawValue:UserDefaults.standard.integer(forKey: "UIStatusBarStyle")) {
return style
}
return UIStatusBarStyle.lightContent
}
使用如下的 UtilityFunction 为 AnyViewController 设置 UIStatusBarStyle 值:
Utility.setPreferedStyle(style: .lightContent)
// call below code for preferred style
preferredStatusBarStyle()