我有一个 UIView 和一个 UIWebView。
UIWebView 是 UIView 的 subview 。
UIWebView 包含 YouTube 视频,并设置为让视频适合 UIWebView。
我有一个与父 UIView 关联的 UITapGesture,用于单击,也就是说,如果用户单击整个 View ,它将调用 A。
所以,当UIWebView加载youtube视频时,视频顶部有一个按钮等待用户点击播放。但现在如果我单击该按钮,则会播放 youtube,同时也会调用 A。这是我不想要的。
我该如何解决?
我认为触摸/点击事件应该按顺序排列,如果单击按钮,它应该吸收该事件并且不再给 UIView 提供任何信息。
我还尝试在 UIWebView 下添加另一个 UIView,并将该手势附加到底层 View 。然而,它仍然不起作用。
如何让 YouTube 视频上的按钮独立?
谢谢
最佳答案
尝试在 View 的 .m 文件中添加此代码(如果您使用的是 UIView,请对其进行子类化):
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
CGPoint p = [self convertPoint:point toView:webView];
if ([webView pointInside:p withEvent:event]) {
return [webView hitTest:p withEvent:event];
}
return [super hitTest:point withEvent:event];
}
由于我没有尝试此代码,请告诉我它是否不起作用。处理这种情况的方法仍然有很多。 :)
关于iphone - 触摸(点击)事件的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7180191/