Fit*_*tzy 14 objective-c touch uiview ios uitapgesturerecognizer
快速提问:我如何检测点击手势识别器是否在添加到视图的子视图内?例如.如果我点击一个对象,例如已经作为子视图添加到已添加了点击手势识别器的背景的方块,如何检测到它已被点击?
小智 39
当您的处理程序方法与您希望使用的任何视图相对应时,您可以从手势识别器中获取分接点-locationInView:.然后,在UIView上使用以下方法:- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event获取对被点击的实际子视图的引用,记住您传入的点与视图位于同一坐标空间中.
一些代码可以帮助您入门:
CGPoint point = [tapGestureRecognizer locationInView:parentView];
UIView *tappedView = [parentView hitTest:point withEvent:nil];
Run Code Online (Sandbox Code Playgroud)
要使命中测试起作用,视图需要将userInteractionEnabled属性设置为YES.许多视图,例如UILabels NO默认设置为.所以在上述之前:
self.subviewOfInterest.userInteractionEnabled = YES;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25181 次 |
| 最近记录: |