Swift 中 preferredStatusBarStyle

2019-07-05  本文已影响0人  代码移动工程师

第一步,infoPlist里面加一个这个

image

第二步,navigationController,和tabBarController 加上几行代码

/// UINavigationController
    override var childForStatusBarStyle: UIViewController?{
        return self.topViewController
    }
    
    override var childForStatusBarHidden: UIViewController?{
        return self.topViewController
    }
/// UITabBarController
    override var childForStatusBarStyle: UIViewController?{
        return self.selectedViewController
    }
    
    override var childForStatusBarHidden: UIViewController?{
        return self.selectedViewController
    }


第三步, 该怎么设置就怎么设置吧, 没啥好说的了。。。

      /// In Controller
override var preferredStatusBarStyle: UIStatusBarStyle {
    return .lightContent
}
override var prefersStatusBarHidden: Bool {
    return false
}

如果应用的第一页面就需要修改状态栏样式,建议在 Deployment Info -> Status Bar Style 中预先设置好,以免开启应用时有过渡的效果。

image.png

⚠️ 当你present一个VC的时候,被present的VC的preferredStatusBarStyle不会工作,你必须在present前设置:

vc.modalPresentationCapturesStatusBarAppearance = true
上一篇 下一篇

猜你喜欢

热点阅读