【发布时间】:2018-10-25 15:57:16
【问题描述】:
我正在开发一个带有 XCode 10 和 iOS 11 的 iPhone 应用程序。
当从一个场景移动到另一个场景时,我试图让状态栏在屏幕外显示动画。
在我的第一个视图控制器(TableViewController)中,我声明:
var isStatusBarHidden = false
然后我添加以下内容:
override var prefersStatusBarHidden: Bool {
return isStatusBarHidden
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
return .slide
}
然后在prepare方法中:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "resultSegue" {
...
isStatusBarHidden = true
UIView.animate(withDuration: 0.5, animations: {
self.setNeedsStatusBarAppearanceUpdate()
})
}
}
在第二个视图控制器(ViewController)我有
var isStatusBarHidden = true
和
override var prefersStatusBarHidden: Bool {
return true
}
动画在 iPhone 8 上运行良好。但是,在 iPhone X 上,即使状态栏出现和消失,它也没有动画。
如何让动画也出现在 iPhone X 上?
【问题讨论】: