检测触摸点的控制/视图

Posted

技术标签:

【中文标题】检测触摸点的控制/视图【英文标题】:detect the control/view at the point of touch 【发布时间】:2011-11-09 02:23:29 【问题描述】:

当触摸发生时,我可以从发生触摸的地方获取 CGPoint。现在,我想知道现场的 UI 元素(无论是控件还是视图)是什么,有没有办法做到这一点?

【问题讨论】:

【参考方案1】:

您正在寻找-[UIView hitTest:withEvent:] 方法:

返回包含指定点的视图层次结构(包括其自身)中接收器的最远后代。

【讨论】:

非常感谢!更进一步,我如何判断给定的 CGPoint 是否在两个视图的重叠矩形内?或者在此之前,我怎样才能得到两个视图的重叠矩形? 查看CGGeometry Reference 中的 CGRectIntersection 和 CGRectContainsPoint。您还需要-[UIView convertRect:fromView:]

以上是关于检测触摸点的控制/视图的主要内容,如果未能解决你的问题,请参考以下文章

SWIFT:检测当前视图之外的触摸

如何检测 UIViewController 外部的点击/触摸

快速检测 Viewcontroller 上的第一次触摸

在 UIScrollView 仍处于活动状态的情况下检测视图中的连续触摸位置

目标c:从视图/图像/按钮外部开始触摸时检测触摸开始/向下

子视图中的触摸检测