【问题标题】:prefersStatusBarHidden, preferredStatusBarStyle properties in Swift 3Swift 3 中的 prefersStatusBarHidden,preferredStatusBarStyle 属性
【发布时间】:2016-09-05 19:59:05
【问题描述】:

从 Swift 3 / iOS 10 开始,preferredStatusBarStyleprefersStatusBarHidden 等方法变为:

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

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

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

【问题讨论】:

  • “因此,用于覆盖方法的现有代码不再构建。” – 你确定吗?你得到什么错误? – open 表示您可以覆盖子类中的属性 (stackoverflow.com/questions/38947101/…)

标签: ios swift uiviewcontroller swift3 xcode8


【解决方案1】:

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

override var preferredStatusBarStyle: UIStatusBarStyle {
    return yourPreferredStatusBarStyle
}

【讨论】:

  • 在ObjC中怎么做?
【解决方案2】:

现在您需要覆盖该属性:

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

【讨论】:

    【解决方案3】:

    您可以在 Viewcontroller 中覆盖 preferredStatusBarStyle

    喜欢这个

     override var preferredStatusBarStyle: UIStatusBarStyle {
            return .lightContent
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-04
      • 2017-02-27
      • 2016-10-23
      • 2017-06-06
      • 1970-01-01
      相关资源
      最近更新 更多