我有一个喜欢隐藏状态栏的 View Controller (view1)。我有一个按钮,它从屏幕底部以模态方式显示另一个 View Controller (view2)(我的 Storyboard中的“显示”segue),而 view2 更喜欢可见的状态栏。在 iOS 8 上,这是从 view1 到 view2 的平滑过渡,但在 iOS 9 上,当我按下按钮时,状态栏立即出现在 view1 中,并且 view1 的整个 View 向下移动以适应它。
这是一个丑陋的效果,我希望避免它。出于某种原因,iOS 8 比 iOS 9 更优雅地处理了这个问题。是否有解决此问题的方法?
最佳答案
在 Swift 中,您可以将 view2 上的全局变量设置为
isStatusBarHidden = false
在 view2 的 viewWillAppear 上将其更改为 true 并更新状态栏
isStatusBarHidden = true
setNeedsStatusBarAppearanceUpdate()
状态栏委托(delegate)函数看起来像
func prefersStatusBarHidden() {
return isStatusBarHidden
}
这只适用于 Swift,不适用于 Objective-C。
关于ios - 在 iOS 9 上呈现带有状态栏的 View Controller 时 View 向下移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37144956/