我试图添加2个 UITapGestureRecognizers
到一个视图,一个为单击和一个为双击事件。单击识别器正在按预期工作(单独工作)。但我好像没办法让双击识别器工作。
已经尝试过像 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
{
}