2011-01-19 119 views
0

我有一个快速问题,从触摸事件中获取视图

我有一个视图有多个子视图。

在我看来,我已经开始接触等。

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

谢谢。

回答

0

我的解决方案是不是从超级视图计算触摸位置。对子视图进行子类分类并仅在那里获取触摸位置形式,并将该点相对于超级视图进行转换。

+0

谢谢,但是当你的意思是子类,你的意思是我应该从子视图捕获触摸事件? – user281300 2011-01-19 13:10:50

+0

是的,从子类获取触摸点后,将该点转换为超级视图并更改子视图的原点。 – YPK 2011-01-19 13:29:32

0

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

所以,你得到了你的触摸点,将它传递给你最大的容器UIView的方法,并获得触摸的最前面的子视图的句柄。十分简单。