0

我有点击手势的问题。我的情况是: - 使用 UITapGestureRecognizer 关闭键盘的视图 - 视图上的标签,有 2 个手势。一UITapGestureRecognizer打开弹窗,UITapGestureRecognizer(触摸次数为2)快速确认弹窗。

但是当我点击标签时,UITapGestureRecognizeron view 总是会收到动作。如何将操作转发到UILabel.

谢谢

4

2 回答 2

2

要点击标签,您需要为该标签启用用户交互

要接收 2 次点击,您需要执行以下操作

简而言之[tap requireGestureRecognizerToFail:dTap];,您可以通过单击来等待一段时间以检查是否会发生双击

UITapGestureRecognizer *dTap = [[UITapGestureRecognizer alloc]
                                         initWithTarget:self 
                                         action:@selector(doubleTapped:)];
dTap.delegate = self;
dTap.numberOfTapsRequired = 2;
dTap.numberOfTouchesRequired = 1;
[label addGestureRecognizer:dTap];

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                                   initWithTarget:self 
                                   action:@selector(tapped:)];
tap.delegate = self;
tap.numberOfTapsRequired = 1;
tap.numberOfTouchesRequired = 1;
[label addGestureRecognizer:tap];
[tap requireGestureRecognizerToFail:dTap];
于 2013-03-26T04:22:11.060 回答
1

// 它在你的 Lable 上启用用户交互,默认情况下它是 NO,所以你必须这样做。

[lbl setUserInteractionEnabled:YES];
于 2013-03-26T04:22:39.473 回答