在 AVPlayerViewController 中禁用手势识别器
Posted
技术标签:
【中文标题】在 AVPlayerViewController 中禁用手势识别器【英文标题】:Disable gesture recognizer in AVPlayerViewController 【发布时间】:2018-01-31 08:58:40 【问题描述】:在AVPlayerViewController
中,有一个功能可以停止播放视频并通过滑动其视图关闭AVPlayerViewController
。
我想禁用此功能。我想我需要禁用手势识别器!?
但我不知道如何为玩家做到这一点。
【问题讨论】:
您使用的是AVPlayerController
吗?
我正在使用 AVPlayerViewController。不知道是不是一样的? @MilanNosáľ
我现在没有时间,但我会在今天晚些时候看看它
谢谢@MilanNosáľ :)
你可以分享你已经拥有的代码吗?
【参考方案1】:
我最近偶然发现了一个类似的问题。您可以从AVPlayerViewController
的contentView
访问手势识别器。
如果您只想保留点击手势识别器,您可能需要使用如下函数:
extension AVPlayerViewController
func disableGestureRecognition()
let contentView = view.value(forKey: "contentView") as? UIView
contentView?.gestureRecognizers = contentView?.gestureRecognizers?.filter $0 is UITapGestureRecognizer
【讨论】:
为我工作,谢谢?? 但是使用私有财产很危险。QQ【参考方案2】:删除手势对我不起作用。无需任何操作即可添加新的UIPanGestureRecognizer
。
extension AVPlayerViewController
func disableGesture()
let panGesture = UIPanGestureRecognizer(target: self, action: nil)
self.view.addGestureRecognizer(panGesture)
【讨论】:
以上是关于在 AVPlayerViewController 中禁用手势识别器的主要内容,如果未能解决你的问题,请参考以下文章
iOS:AVPlayerViewController 视图未删除
在 AVPlayerViewController 中点击播放按钮时执行操作
如何在 SwiftUI 中呈现全屏 AVPlayerViewController
如何在 UITableViewCell 上正确显示一个 AVPlayerViewController?