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

  • 触摸开始:withEvent:
  • 触摸移动:withEvent:
  • 触摸结束:withEvent:

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

(我已经尝试过 hitTest,但我只收到 TouchBegan 事件,并且该方法没有发送任何触摸)

有帮助吗?

解决方案

我已经通过在主窗口覆盖以下方法来解决这个问题:

- (void)sendEvent:(UIEvent*)anEvent

我还检查这是否是正确的事件

if ([[[anEvent allTouches] anyObject] phase] == UITouchPhaseBegan)

我也做同样的事情 UITouchPhaseMovedUITouchPhaseEnded, ,执行我的自定义代码,然后发送 [super sendEvent:anEvent];

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top