首页 > 解决方案 > UIWindow + 锁屏问题

问题描述

直截了当:我们的应用程序具有UITableView内部(其视图)+ 自定义视频控件。其中一个控件是全屏模式。请注意,一切正常 - 加载视频、重用,甚至全屏。UITableViewCellAVPlayerViewController

全屏功能基于创建新的UIWindow,将其设置rootViewController为视频播放器并使其成为 keyAndVisible - 基本上AVPlayerViewController在点击时从单元格子视图显示全屏

当用户锁定他的设备时出现问题 - 解锁后,全屏窗口“消失”并且应用程序被冻结/卡在前一个屏幕上(带有视频单元格,文本单元格的列表...... - 制作新的那个 UIWindow

UIWindow视频窗口)在那里,但在主(应用程序,表格视图列表..)顶部没有内容(没有子视图,VC ..)UIWindow- 请参阅图片

这个问题在模拟器上没有发生 - 只有真实的设备。

在锁定设备并全屏显示视频之前查看层次结构调试(使用 new UIWindow):

冻结前查看调试

在上一个解锁设备和应用冻结后查看层次结构调试UIWindow

冻结后查看调试

有什么可能的解决办法吗?还是一种更好的展示方式AVPlayerViewControllerUITableViewCell在播放时且不停止视频)?

注意:即使我们删除横向/纵向方向更改也会发生该错误,该问题似乎与 UIWindow 有关

PS:抱歉隐藏图片中的名字 - NDA ...

标签: iosswiftuikit

解决方案


推荐阅读