2011-06-16 65 views
2

我正在開發一個應用程序,我在視圖上應用UILongPressGesture識別器,並實現了代碼以實現事件(發生長按手勢時)。UILongPressGestureRecognizer給出奇怪的結果

用於處理手勢的代碼被寫入方法中,並且當我試圖長時間按下不期望的視圖時,該方法被調用兩次。我已經分配了最少2秒的時間。我不確定我是否正在按住2秒的視圖。在2秒鐘的時間過後,該方法會被調用嗎?

有人可以幫我在這方面,以及如何處理當用戶長按超過最小時間分配,或有任何其他原因的方法被稱爲兩次?

提前

+0

讓我們看看代碼... – Roger 2011-06-16 16:52:33

回答

2

處理程序TNX是越來越對手勢識別狀態UIGestureRecognizerStateBeganUIGestureRecognizerStateRecognized叫了兩聲。你可能會想要處理一個UIGestureRecognizerStateRecognized。因此,在處理程序中執行此操作,

- (void)longPress:(UILongPressGestureRecognizer *)gesture { 
    if (gesture.state == UIGestureRecognizerStateRecognized) { 
     // Handle long press. 
    } 
} 
+0

@efrank你解決了嗎? – 2011-06-19 17:53:41

+0

tnx回覆deepak,我以不同的方式解決了上述問題。我嘗試了你的方法,但它不適合我。無論如何tnx的答覆...... – Dinakar 2011-06-20 08:11:24