【发布时间】:2017-06-26 15:44:57
【问题描述】:
我的应用程序(Swift 3,带有UIStoryboard)显示一个节目的剧集列表。每当用户点击表格中的某一集时,他/她都会获得一个详细视图,其中显示(从上到下):
- 剧集的图片
- 标题
- 剧集描述和技术信息
根据用户类型,我们希望有一个视频播放器,而不是显示剧集的图像,这样订阅的人就可以开始观看视频(未订阅的用户只会看到图像)。
根据我们用户的订阅状态,视频播放器应该正在播放内容(订阅)或显示图像(取消订阅)。
有没有办法动态删除图像并将其替换为完全相同位置和尺寸的视频播放器?如果是这样,当前应用于图像的自动布局约束会发生什么?
【问题讨论】:
-
您应该创建自己的 AVPlayerLayer,这是一个 CALayer 实例,AVPlayer 可以将其视觉输出定向到该实例。在 Storyboard 中使用您的尺寸创建 UIView,将您的 UIImageView 添加到其中并为两者创建插座。在代码中,使用您的 AVPlayer 初始化 AVPlayerLayer,并将其作为子视图添加到容器视图中。从那里你可以隐藏/播放等。
-
谢谢,法比扬。会试试这个。