3

我想在UITextView中禁用双击。我已经禁用长按用:禁用双击UITextView

- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer { 
    if ([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]]) { 
     gestureRecognizer.enabled = NO; 
    } 
    [super addGestureRecognizer:gestureRecognizer]; 
    return; 
} 

我已经tryed做UITapGestureRecognizer相同,但它禁止单一的水龙头了。

- (void)addGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer { 
    if ([gestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]]) { 
     gestureRecognizer.enabled = NO; 
    } 
    if ([gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]]) { 
     gestureRecognizer.enabled = NO; 
    } 
    [super addGestureRecognizer:gestureRecognizer]; 
    return; 
} 

如何才能禁用双击?

我知道numberOfTapsRequired方法,但不知道如何在我的代码中完全应用它。

回答

5

而不是禁用水龙头手势识别器,我建议你试试这个

if ([gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]]) { 
    [(UITapGestureRecognizer *)gestureRecognizer setNumberOfTapsRequired:1]; 
} 

这样您应该启用单击并禁用双击。

+0

我试过了。有没有在'UIGestureRecognizer *'类型的对象上找到'Property'numberOfTapsRequired' –

+0

好吧,这是因为向下倾向于'UITapGestureRecognizer'('UITapGestureRecognizer'子类)丢失了......我编辑了我的答案,现在它工作 – HepaKKes

+0

这就是我需要什么,谢谢 –

0
+0

我知道了。如果我会这样做,结果将是相同的(将被阻止所有水龙头)。我需要这样的东西:“if(doubleTap)>>> gestureRecognizer.enabled = NO;” –

+0

你干了两个水龙头创建一个gestureRecognizer,只有一个行动什么都不做? –

+0

是的,这是行不通的。但我不确定,那是对的。 –