Swift 3 中的 prefersStatusBarHidden、preferredStatusBarStyle 属性

prefersStatusBarHidden, preferredStatusBarStyle properties in Swift 3

开始Swift3/iOS10,preferredStatusBarStyleprefersStatusBarHidden等方法变成:

    @available(iOS 7.0, *)
    open var preferredStatusBarStyle: UIStatusBarStyle { get }

    @available(iOS 7.0, *)
    open var prefersStatusBarHidden: Bool { get }

因此不再构建用于覆盖方法的现有代码。鉴于这些属性是只读的,您如何为它们赋值/覆盖它们?

您需要了解在 Swift 中(从第一个 public beta pre-1.0 开始),您可以覆盖属性。只读属性可以像这样被覆盖:

override var preferredStatusBarStyle: UIStatusBarStyle {
    return yourPreferredStatusBarStyle
}

现在您需要覆盖 属性:

override var prefersStatusBarHidden: Bool{
    get{
        return true
    }
}

您可以在 Viewcontroller

中覆盖 preferredStatusBarStyle

像这样

 override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }