iOS swift 设置状态栏样式

iOS9以上设置状态栏颜色的方式有所改变,以下是详细步骤:
1、将info.plist中的View controller-based status bar appearance设置为YES
2、在所有改变状态栏颜色的UIViewController里重写以下属性

override var preferredStatusBarStyle: UIStatusBarStyle{
        return .lightContent //白色字体
 }

注意事项:如果需要改变状态栏样式的UIViewController 是UINavigationController的子Controller,那么以上方法并不会被调用而是调用UINavigationController里的方法。
解决方法:根据实际情况,写UINavigationController扩展或者继承一个子类,实现重写以下方法

extension UINavigationController {

    open override var childViewControllerForStatusBarStyle: UIViewController? {
        return viewControllers.last
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容