【Swift】全局控制状态栏显示样式

  1、Appdelegate

    
    // 当前statusBar使用的样式
    var statusBarStyle: UIStatusBarStyle = .default

  2、基类控制器

class BMViewController : UIViewController {

    // 重现statusBar相关方法
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return appDelegate.statusBarStyle
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()

        changeSystemDark()
    }
    
    func changeStyle(dark:Bool) {
        if dark {
            appDelegate.statusBarStyle = .lightContent
        } else {
            appDelegate.statusBarStyle = .default
        }
        setNeedsStatusBarAppearanceUpdate()
    }
    
   
}

 

posted @ 2021-06-18 15:39  Mr·Xu  阅读(149)  评论(0编辑  收藏  举报