【发布时间】:2025-12-29 12:05:16
【问题描述】:
升级到iOS 11 / Xcode9后,状态栏不再隐藏。
我在 info.plist 中将“基于控制器的状态栏外观”设置为“YES”,并且:
override var prefersStatusBarHidden: Bool {
return true
}
根据调试器,prefersStatusBarHidden被调用,但没有任何效果。
这是一个错误吗?有谁知道解决办法吗?
【问题讨论】:
-
你想隐藏应用中所有视图控制器的状态栏还是只隐藏在一个视图控制器中?
-
调用 setNeedsStatusBarAppearanceUpdate()
-
如果还是不行,请尝试 toVC.modalPresentationCapturesStatusBarAppearance = true
-
嗯,这听起来像一个错误,我刚刚尝试过,它在我这边工作得很好。只需尝试仔细检查“基于视图控制器的状态栏外观”键是否拼写正确,其值为“YES”,然后尝试清理您的项目(CMD+SHIFT+K)并清理您的 DerivedData 文件夹,然后再次重新打开项目,看看它是否有效。