2011-08-24 72 views
28

我有一個看法。我希望爲它定義各種輕敲手勢。iphone - 單擊手勢與雙人手勢衝突

所以如果用戶單擊瀏覽,view會做A;並且如果用戶在視圖上雙擊,它將在沒有做A的情況下執行B.

我在視圖中添加了兩個UITapGestureRecognizer。單擊是用numberOfTapsRequired = 1;雙擊使用numberOfTapsRequired = 2;

我設立了

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
    return NO; 
} 

返回NO然而,我發現他們相互衝突。我的意思是,即使我雙擊視圖,A和B都會被調用。

我該如何解決這個問題?

感謝

回答

64

您可以解決此通過添加以下代碼行。這將確保單輕叩僅識別時觸發雙擊識別失敗:

[singleTapRecognizer requireGestureRecognizerToFail:doubleTapRecognizer]; 
+0

穆勒,謝謝。它的作品 –

+3

,但這給了一個延遲來檢測單擊! :( – Mrug

+4

@Mrug:沒錯,但唯一能夠100%確定它是單一而不是雙擊的方法是等到我們確信用戶不會再次點擊。 –