ios – 更改状态栏Swift 3中的背景颜色

前端之家收集整理的这篇文章主要介绍了ios – 更改状态栏Swift 3中的背景颜色前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在XCode 7.3.x病变改变了背景颜色为我的StatusBar与:
func setStatusBarBackgroundColor(color: UIColor) {
guard  let statusBar = UIApplication.sharedApplication().valueForKey("statusBarWindow")?.valueForKey("statusBar") as? UIView else {
    return
}
statusBar.backgroundColor = color
}

但是,似乎这与Swift 3.0不兼容.

不好意思:

func setStatusBarBackgroundColor(color: UIColor) {
guard  let statusBar = (UIApplication.shared.value(forKey: "statusBarWindow") as AnyObject).value(forKey: "statusBar") as? UIView else {
    return
}
statusBar.backgroundColor = color
}

但它给了我:

this class is not key value coding-compliant for the key statusBar.

任何想法如何改变它与XCode8 / Swift 3.0?

解决方法

extension UIApplication {
    var statusBarView: UIView? {
        return value(forKey: "statusBar") as? UIView
    }
}

UIApplication.shared.statusBarView?.backgroundColor = .red

猜你在找的iOS相关文章