AVPlayerViewController 使状态栏可见

AVPlayerViewController causes status bar to become visible

在我的应用程序中,状态栏是隐藏的。

我在 AVPlayerViewController 中显示视频,它有一个可见的状态栏(除了创建我自己的视图控制器,我还没有找到删除它的方法,我不知道如何做)。

但是,当 AVPlayerViewController 被关闭时,状态栏现在在应用程序中可见。

如何防止播放器导致状态栏在应用程序中可见?

经过两天终于找到解决方案:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    UIApplication.shared.setStatusBarHidden(true, with: .none)
}

只需跳过 iOS9.0 和 bla.bla.bla 中有关 setStatusBarHidden 弃用的警告。 因为 prefersStatusBarHidden 根本不起作用!!!

不要使用已弃用的方法。这是不好的做法。 隐藏 AVPlayerViewController 状态栏的正确解决方案:

extension AVPlayerViewController {

    open override var prefersStatusBarHidden: Bool {
        return true
    }
}