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

是的,這是行不通的。但我不確定,那是對的。 –