gpt4 book ai didi

ios - 状态栏在模式演示中消失

转载 作者:行者123 更新时间:2023-11-29 11:36:36 26 4
gpt4 key购买 nike

在我的 iOS 应用程序中,我使用转换以模态方式呈现 View Controller (在本例中为 AVPlayerViewController)。

在过渡开始时,状态栏会立即消失,并在动画(无论何种类型——交叉淡入淡出、覆盖垂直)隐藏 View Controller 的底层堆栈之前,以丑陋的方式猛拉出应用程序的内容。新的模态呈现的 VC 上有一个状态栏。

我不希望状态栏在模态演示动画的开始 消失。

我设置了一个空白项目并模拟了我的应用程序的相同基本结构,当呈现 View Controller 时,状态栏在过渡期间保持静止。

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

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

编辑:

为了执行演示,应用程序的 Root View Controller 正在监听通知并调用,大致如下:

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

这就是奇怪消失的原因。

有趣的是,当我进入 Storyboard 并从同一个 Root View Controller 设置一个 Modal Segue(到一个空白 View Controller )时,触发了一个随机添加的按钮,由此产生的过渡是平滑的。

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

最佳答案

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

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

关于ios - 状态栏在模式演示中消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48858171/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com