我使用YouTube iOS Player Helper View并且播放器本身效果非常好。但是,我希望用户能够点按视频并让它开始播放。我尝试将UITagGestureRecognizer添加到YTPlayerView,但它没有注册任何我的水龙头。
我在我的视图中添加了一个UIButton,并将其连接到我的IBAction,告诉YTPlayerView播放,并且工作正常。但是,我希望它向用户显示,就好像他们已经点击了视频本身一样。因此,我将我的UIButton调整为与YTPlayerView相同的大小,并将UIButton放在YTPlayerView的顶部。
点击UIButton不再有效......差不多了。 YTPlayerView左侧,右侧或底部的任何水龙头都不起作用。 YTPlayerView上方的点击仍然可以通过。所以,如果我将UIButton向上移动10个像素,我可以点击10个像素的条带,我的IBAction将被调用。如果我将UIButton 10(或30)像素移动到左侧,右侧或底部,则没有任何一个按钮可以通过我的IBAction。
在下图中,我的UIButton具有透明的绿色背景,以便您可以看到它背后的内容。 (我用完全不透明测试它,它的行为方式相同,透明度不是问题。)如果我点击红色框内的绿色区域(即YTPlayerView上方),那么我的IBAction按预期调用。如果我点击红色框外面的绿色区域(即YTPlayerView的左侧,右侧或下方),那么我从未收到过我的IBAction。
整个视图都包含在UIScrollView中。我尝试将UITapGestureRecognizer添加到self.view中,当我尝试点击YTPlayerView时,该点击会传递给我,就像它击中了UIScrollView而不是YTPlayerView。
答案 0 :(得分:0)
忽略滚动视图的触摸或从滚动视图转到触摸按钮
向playerview添加手势
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if (someScrollView.superview != nil) {
if ([touch.view isKindOfClass:[UIButton class]])
{
return YES; // handle the touch
}
}
return NO; // ignore the touch
}