我正在尝试将 2UITapGestureRecognizers
个添加到视图中,一个用于单击,一个用于双击事件。单击识别器按预期工作(单独)。但我似乎无法让双击识别器工作。
已尝试尝试使用 : 之类的属性,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
{
}