在 AVPlayerViewController 全屏视图上呈现 UIView
Posted
技术标签:
【中文标题】在 AVPlayerViewController 全屏视图上呈现 UIView【英文标题】:Presenting UIView on AVPlayerViewController Fullscreen View 【发布时间】:2020-03-23 20:33:28 【问题描述】:问题:我需要在 AVPlayer 之上添加一个 UIView,使其仍然是用户交互的。当我尝试将其添加为覆盖内容时,任何用户交互按钮都将不再触发(因为它位于视频控制层后面)。
想要的效果:我希望能够在 AVPlayer 顶部添加一个 UIView,以便它始终保持在整个视图的顶部,即使它进入全屏模式也是如此。
示例代码:
var view = UIView =
let view = UIView()
view.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
view.backgroundColor = .red
return view
var player = AVPlayer(url: http://somewhere.com/video.format)
let controller = AVPlayerViewController()
controller.player = player
【问题讨论】:
【参考方案1】:显然,解决此问题的最佳方法是在 AVPlayerController 中添加一个可触摸元素,它将任何触摸事件重定向到相应的选择器。
【讨论】:
以上是关于在 AVPlayerViewController 全屏视图上呈现 UIView的主要内容,如果未能解决你的问题,请参考以下文章
iOS:AVPlayerViewController 视图未删除
在 AVPlayerViewController 中点击播放按钮时执行操作
如何在 SwiftUI 中呈现全屏 AVPlayerViewController
如何在 UITableViewCell 上正确显示一个 AVPlayerViewController?