【发布时间】:2011-01-19 13:00:44
【问题描述】:
我有个小问题,
我有一个包含多个子视图的视图。
在我看来,我已经开始接触等等。
有没有一种方法可以从触摸开始检索子视图,而不必从触摸中检测位置,然后对 c 哪个子视图在该特定区域内有一个很大的 if else。
谢谢。
【问题讨论】:
我有个小问题,
我有一个包含多个子视图的视图。
在我看来,我已经开始接触等等。
有没有一种方法可以从触摸开始检索子视图,而不必从触摸中检测位置,然后对 c 哪个子视图在该特定区域内有一个很大的 if else。
谢谢。
【问题讨论】:
我的解决方案不是从超级视图计算触摸位置。对子视图进行子类化并仅在其中获取触摸位置表格并将点相对于超级视图进行转换。
【讨论】:
你要的方法是UIView实例方法-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event。这将返回包含point 的最低级别的子视图。
所以你得到了你的触摸点,将它传递给你最大的容器 UIView 的那个方法,并取回最前面的被触摸的子视图的句柄。轻松愉快。
【讨论】: