快速问题:如何检测轻击手势识别器是否在视图的子视图内?例如。如果我点击一个对象,例如添加了作为子视图的方块,并添加了轻拍手势识别器,我如何检测到它已被轻敲?如何在子视图中检测轻击手势
回答
当您使用-locationInView:
的任何视图分别调用处理程序方法时,您可以抓取手势识别器的点击点。然后,在UIView上使用以下方法:- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
以获取对被点击的实际子视图的引用,并记住您传入的点与视图在同一坐标空间中。
一些代码来让你开始:
CGPoint point = [tapGestureRecognizer locationInView:parentView];
UIView *tappedView = [parentView hitTest:point withEvent:nil];
对于命中测试工作的看法需要有userInteractionEnabled
属性设置为YES
。许多视图(如UILabel
)默认情况下都设置为NO
。上述所以之前:
self.subviewOfInterest.userInteractionEnabled = YES;
谢谢,这有助于很多! – Fitzy
谢谢@Brandom –
可以使用requireGestureRecognizerToFail:
识别子视图上水龙头,请参阅this代码
也许你应该设置为: subviews.userInteractionEnabled = YES; 祝你好运!
该死!这是我需要的。我的子视图被gestureRecognizer忽略,现在它工作。谢谢。 – surfrider
- 1. 如何检测轻扫/轻拂手势?
- 2. iOS:在子视图内轻扫手势
- 3. 检测轻扫手势
- 4. 叩击手势子视图触摸检测
- 5. 在mkmapview上检测不是注释的轻击手势?
- 6. 检测轻扫手势的UIWebView
- 7. 父视图上的双击手势和子视图上的单击手势
- 8. iOS - 忽略轻击手势
- 9. CKComponent处理轻击手势
- 10. 如何选择轻击手势而不是画手势?
- 11. UIPopoverPresentationController不会在标题视图上禁用轻击手势
- 12. iOS核心图 - 检测图上的轻扫手势
- 13. 如何在列表视图上实现轻扫手势
- 14. 如何在向视图添加另一个轻击手势后禁用其他触摸手势?
- 15. Swift - 我如何检测轻扫手势距离放弃?
- 16. 如何检测自定义UIScrollView上的水平轻扫手势?
- 17. 如何在半视图上实现轻扫手势并在另一半视图上实现平移手势?
- 18. 在引擎中水平和垂直检测轻扫手势
- 19. ios轻扫手势不能在子视图上用父视图上的手势识别
- 20. Android - 如何检测特定视图上的手势?
- 21. 许多点击手势在视图上
- 22. 为什么轻击手势识别器能够识别父视图上的视图中的轻敲?
- 23. 手势检测3.1.3
- 24. Android手势检测
- 25. ListFragment中的手势检测
- 26. UICollectionView prepareForSegue以手势轻击UIImageView
- 27. 如何在使用MPMoviePlayerController时识别轻击手势
- 28. 轻触手势识别器会干扰UITextView中的URL轻击
- 29. Ios5轻扫手势
- 30. 轻扫手势iphone
请说清楚你喜欢做什么?想要识别点击子视图? –