0

我要优先hitTest:withEvent返回自我(最底部的视图)-

返回时self- 我的视图将响应触摸事件依次启动手势识别器。

如果取消手势或发生某些情况 - 我想手动启动hitTest:withEvent然后返回不同的视图来处理发生的相同事件/触摸序列。这是必要的,因为手势识别器仅在hitTest:withEvent返回手势视图并且其状态更改为后才会启动began

我不知道该怎么做 - 我考虑过手动调用我的子视图

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{

}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{

}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{

}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
{

}

但我没有事件参数(手势收到它)

4

1 回答 1

0

我认为这无法做到,将触摸事件传递给 UIGestureRecognizer 是私有 API。但是您可以将收到的最底部视图的触摸事件传递给您喜欢的任何视图并进行自己的手势识别。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
  UIView* selectView = [self _findMatchView];
  // maybe convert touches to selectView coordinate
  [selectView handleTouchBegan:touches withEvent:event];
}
于 2015-02-15T01:09:54.480 回答