我正在尝试向UITapGestureRecognizers
视图添加2 ,一个用于单击,一个用于双击事件。单抽头识别器正在按预期运行(单独运行)。但是我似乎无法使双击识别器正常工作。
已经尝试具有类似性质的实验:cancelsTouchesInView
,delaysTouchesBegan
和delaysTouchesEnded
,但仍然无法正常工作。
当我双击时,单击识别器将始终被激活,并且双击事件也将发送到超级视图。但是自定义双击识别器似乎根本没有得到通知。
文档似乎表明可以将上述3个属性用于此目的。但是我不确定应该设置哪些值以及在哪些识别器上(单,双或双)。希望有人对此有所帮助。
以下是最新更新的代码块。
// ****** gesture recognizers ******
- (void)addSingleAndDoubleTapGestureRecognizersToView:(UIView *)view
{
// single tap
UITapGestureRecognizer *singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector(handleSingleTapOnView:)];
[singleTapRecognizer setNumberOfTouchesRequired:1];
[view addGestureRecognizer: singleTapRecognizer];
// double tap
UITapGestureRecognizer *doubleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget: tableViewController action: @selector (handleDoubleTapOnView:)];
[doubleTapRecognizer setNumberOfTouchesRequired:2];
[singleTapRecognizer requireGestureRecognizerToFail: doubleTapRecognizer];
[view addGestureRecognizer: doubleTapRecognizer];
}
- (void)handleSingleTapOnView:(id)sender
{
}
- (void)handleDoubleTapOnView:(id)sender
{
}