状态栏在模态演示文稿中消失

时间:2018-02-19 00:34:04

标签: ios modalviewcontroller uistatusbar

在我的iOS应用程序中,我使用转换模式呈现视图控制器(在本例中为AVPlayerViewController)。

在转换开始时,状态栏立即消失并以丑陋的混蛋拉动应用程序的内容,然后动画(无论何种类型 - 交叉渐变,覆盖垂直)隐藏底层的视图控制器堆栈。新模态显示的VC上有一个状态栏。

我希望状态栏不会在模态演示动画的 start 处消失。

我设置了一个空白项目并嘲笑了我的应用程序的相同基本结构,当呈现视图控制器时,状态栏在转换期间保持静止。

什么会导致状态栏在模态演示动画开始时消失?

(在iPhone X上测试iOS 11,在模拟器上测试iOS 10/9。)

编辑:

要执行演示,应用程序的根视图控制器正在侦听通知并大致调用:

let vc = AVPlayerViewController()
// configure the player
self.present(vc, animated: true) {
    vc.player?.play()
}

这就是产生奇怪消失的原因。

有趣的是,当我进入故事板并从同一个根视图控制器设置模态搜索(到空白视图控制器)时,触发了一个随机添加的按钮,结果转换顺利。

另一个数据点是当我关闭动画present(:animated:completion:)时,状态栏会保持不变,直到模态覆盖它。

1 个答案:

答案 0 :(得分:1)

就我而言,在iOS 9和iOS 10中以模态方式呈现AVPlayerViewController时,这是一个特别的问题。这个问题似乎在iOS 11中得到了解决。

我在iOS 11上看到的是一个稍微不同的问题 - 在强制横向模式下模态呈现AVPlayerViewController,这导致状态栏在动画开始时翻转方向。