Swift 3 ViewController 初始化后隐藏状态栏

Swift 3 hide status bar after ViewController init

我有一个 UIViewcontroller sub-class 具有以下属性:

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

并且想在视图控制器初始化之后根据方法调用将 preferStatusBarHidden 更改为 true。我无法将其更改为 true(仅获取)。

我想我在这里遗漏了一些愚蠢的东西...

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

prefersStatusBarHidden 添加状态栏何时应隐藏在 getter 内的逻辑(您目前只有 return false)。然后,当你需要触发更新时,调用 setNeedsStatusBarAppearanceUpdate().