本篇講的是preferredStatusBarStyle的設置方式
1尝抖。 刪除 infolist view controller-based status bar appearance的設置(如果是UIApplication.shared.setStatusBarStyle(.default, animated: true),需要設置為NO,但此方法在iOS9.0廢棄)
2.若是在appdelegate里面慎玖,把Viewcontrooler設置為導航控制器,或者設置tabbar為導航控制器个扰,則需要做UINavigationController的擴展
extension UINavigationController{
? ? openoverridevarchildForStatusBarStyle:UIViewController?{
? ? ? ? return self.topViewController
? ? }
}
3 直接貼代碼
classViewController:UIViewController{
? ? ? private var statusBarStyle:UIStatusBarStyle= .lightContent{
? ? ? ? didSet{
?? ? ? ? ? ?self.setNeedsStatusBarAppearanceUpdate();
? ? ? ? }
? ? }
? ? overridevarpreferredStatusBarStyle:UIStatusBarStyle{
? ? ? ? return statusBarStyle;
? ? }
? ? overridefunctouchesBegan(_touches:Set, with event:UIEvent?) {
? ? ? ? if statusBarStyle == ?.default{
? ? ? ? ? ? statusBarStyle= .lightContent;
? ? ? ? }else{
? ? ? ? ? ? statusBarStyle= .default;
? ? ? ? }
? ? }