2013-03-25 61 views
0

我有一個惱人的問題。UITapGestureRecognizer雙擊放慢發佈

我」 M增加了手勢識別:

UITapGestureRecognizer* tapGesture =[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(DoubleClick:)]; 
tapGesture.numberOfTapsRequired = 2; 
[self.view addGestureRecognizer:tapGesture]; 

這個工作,但是當我只需點擊一下,這是我的觀點的任何控制,將‘釋放’是緩慢的。即UIButton的釋放速度比平常慢。 UIView中的所有控件都會發生同樣的情況。 touchesEnded:函數被延遲調用。

當我使用tapGesture.numberOfTapsRequired = 1時,它工作正常。不過,我想雙擊,而不是單擊。

請指教。 Thx。

回答

2

當點擊並放開一次,你怎麼知道它是單擊還是隻是雙擊的前半部分?

答:你等。如果第二次敲擊,它就是雙擊。如果經過一段時間並且沒有第二次敲擊,那麼這是一次敲擊。查看delaysTouchesEndedUIGestureRecognizer瞭解更多信息。

我通過創建不會相互衝突的手勢來解決此問題。 「雙手輕敲」和「單指輕敲」不會造成延遲,因爲您會知道在手勢結束之前使用了多少手指。

+1

好的,但我期待單點擊將被傳遞到我的視圖內的其他控件。好的,我通過實施單擊並檢測點擊我自己之間的時間來修復它。 – Michael 2013-03-25 17:46:10