我有一个BaseViewController,它的布尔属性hideStatusBar初始化为false

import Foundation
import UIKit

class BaseViewController: UIViewController {

    var hideStatusBar: Bool = false

    override func prefersStatusBarHidden() -> Bool {
        return hideStatusBar
    }

}

在从该基类派生的子类中,我将hideStatusBar的值设置为true。但这似乎并没有改变价值。我仍然在prefersStatusBarHidden方法中得到错误。

该方法肯定有效。我更改了属性的值,并更改了true和false并进行了测试。

你怎么能工作呢?

最佳答案

以下代码适用于您的BaseViewController子类:

import UIKit

class SubViewController: ViewController {

    override func awakeFromNib() {
        hideStatusBar = false
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    /*
    override func prefersStatusBarHidden() -> Bool {
        return hideStatusBar
    }
    */

}

关于ios - 属性初始值不变,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25642155/

10-11 20:51