处理接触

时间:2010-08-05 08:01:42

标签: objective-c hittest touches touchesbegan touchesmoved

我有一个带有几个子视图的UIView子类,我想在类中处理这些事件:

  • 的touchesBegan:withEvent:方法
  • touchesMoved:withEvent:方法
  • touchesEnded:withEvent:方法

但我也希望在子视图中调用这些事件。我怎么能做到这一点?

(我已经尝试过使用hitTest,但我只获得了touchesBegan事件,并且没有使用该方法发送任何触摸)

1 个答案:

答案 0 :(得分:1)

我设法通过在主窗口覆盖以下方法来解决它:

- (void)sendEvent:(UIEvent*)anEvent

我还通过

检查它是否是正确的事件
if ([[[anEvent allTouches] anyObject] phase] == UITouchPhaseBegan)

我对UITouchPhaseMovedUITouchPhaseEnded执行相同操作,执行我的自定义代码,然后发送[super sendEvent:anEvent];