Swift 3在ViewController init之后隐藏状态栏

时间:2017-01-24 21:21:37

标签: ios swift uistatusbar

我有一个带有以下属性的UIViewcontroller子类:

    override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
        return .slide
    }
    override var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }
    override var prefersStatusBarHidden: Bool {
        return false
    }

并且希望在视图控制器init之后基于方法调用将preferStatusBarHidden更改为true。我无法将其更改为true(仅限获取)。

我想我在这里错过了一些愚蠢的东西......

编辑: 这与其他隐藏状态栏问题不重复,因为它涉及属性覆盖和计算以在已经呈现视图控制器之后确定属性。

1 个答案:

答案 0 :(得分:1)

添加您的逻辑,以便状态栏隐藏在prefersStatusBarHidden的getter中(您当前只有return false)。然后,当您需要触发更新时,请致电setNeedsStatusBarAppearanceUpdate()