在边界内点击手势识别器

Posted

技术标签:

【中文标题】在边界内点击手势识别器【英文标题】:Tap Gesture Recognizer In Bounds 【发布时间】:2015-01-01 22:02:35 【问题描述】:

是否可以检查是否在对象的某些范围内发生了点击手势?例如,我有一个包含三个三角形部分的自定义绘制视图。我想知道从点击手势识别器发送的手势是否发生在三角形 1、2 或 3 内。

【问题讨论】:

【参考方案1】:

您可以在手势识别器的操作中使用 sender.locationInView(nameOfYourView) 来检索点击的位置。检查该点是否在每个三角形的边界内,以确定它是否在三角形内(我不知道您对三角形的实现,所以我无法回答如何执行此操作。它们是各自独立的视图吗?它们是只是图像的一部分?你是通过 CALayer 还是 UIBezierPath 绘制的?)。

【讨论】:

它们是在自定义视图的 drawRect 类中绘制的形状。 locationInView(self) 允许我获取坐标。

以上是关于在边界内点击手势识别器的主要内容,如果未能解决你的问题,请参考以下文章

如何删除手势识别器

在 Swift 中无法识别点击手势(手势开始)

在 ListView 中点击手势手势识别器不起作用

如何识别调用了哪个点击手势识别器?

Xamarin.Forms 第23局:手势识别

SWIFT4:如何让两个点击手势识别器一起工作