从触摸事件中获取视图

时间:2011-01-19 13:00:45

标签: iphone uiview uitouch

我有一个简单的问题,

我有一个包含多个子视图的视图。

在我看来,我已经开始接触......

有没有办法从触摸开始检索子视图而不必从触摸中检测到位置,然后有一个很大的if else to c哪个子视图在该特定区域。

感谢。

2 个答案:

答案 0 :(得分:0)

我的解决方案是从超级视图计算触摸位置。子类查看子视图并仅获取触摸位置形式,并将该点转换为超视图。

答案 1 :(得分:0)

您需要的方法是UIView实例方法-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event。这将返回包含point的最低级别子视图。

所以你得到了你的触摸点,将它传递给你最大的容器UIView的方法,并找回触及最前面的子视图的句柄。容易腻。