检测对子层元素的触摸
Posted
技术标签:
【中文标题】检测对子层元素的触摸【英文标题】:Detect touches on sublayer elements 【发布时间】:2013-03-20 13:56:00 【问题描述】:我将 MyCustomView 视图作为 UIControl 类的子类。 我在我的视图上画这样的东西:
CAShapeLayer *line = [CAShapeLayer layer];
....
[self.layer addSublayer:line];
是否无论如何都要检测“线”上的触摸并做一些工作?例如移动“线”。
【问题讨论】:
检查这里:***.com/questions/3469211/… 【参考方案1】:您可以尝试将手势识别器添加到您的 UIView 中,然后调用
- (CALayer *)hitTest:(CGPoint)thePoint
在您的视图层上查找您点击的层,例如;
CALayer* layerThatWasTapped = [line.layer hitTest:[gestureRecognizer locationInView:line]];
【讨论】:
以上是关于检测对子层元素的触摸的主要内容,如果未能解决你的问题,请参考以下文章
检测 UIWebView 上的触摸,但忽略滑动或触摸交互式元素(链接或点击)