首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许在YTPlayerView上点击以播放视频或让按钮覆盖YTPlayerView

允许在YTPlayerView上点击以播放视频或让按钮覆盖YTPlayerView
EN

Stack Overflow用户
提问于 2014-09-17 09:33:55
回答 1查看 889关注 0票数 0

我使用的是YouTube iOS Player Helper View,播放器本身运行得很好。然而,我希望用户能够点击视频,并让它开始播放。我尝试向YTPlayerView添加一个UITagGestureRecognizer,但它没有注册我的任何点击。

我在我的视图中添加了一个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一样。

EN

回答 1

Stack Overflow用户

发布于 2014-10-14 20:33:14

忽略触摸以滚动查看或将触摸从滚动视图向前移动到按钮

向playerview添加手势

代码语言:javascript
复制
-(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

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25880924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档