我有一个针对我的 AVPlayerViewController
的代码。
UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAvPlayer)];
[self.avPlayerViewController.view addGestureRecognizer:tap];
但这不起作用... :S,我尝试设置。[self.avPlayerViewController.view setUserInteractionEnabled:YES];
依然不好...
唯一可行的解决方案是使用 UIGestureRecognizer
并实现它的 shouldReceiveTouch
代理并检查是否触摸了 AV 播放器.. 但问题是,我们想要捕获“松开点击”事件.. 因为如果仅仅点击了AV播放器视图,它会立即执行代码,这不是我们想要的...
请帮助我们解决这个问题..
谢谢!
AVPlayerViewController
子类,并覆盖了- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(nullable UIEvent *)event
方法。覆盖方法调用了一个自定义代理接口,该接口摄取触摸事件以执行我需要的任何操作。 - Stoph.contentOverlayView
对我没有起作用(从未收到回调),但是avpvc.view.gestureRecognizers = @[tap]
起了作用。 - eddybox