2013-07-11 106 views
0

是否有辦法檢測任何互動的開始和結束?我注意到有touchesBegin和touchesEnd之類的方法,但這些方法僅適用於觸摸事件。是否有所有可能的交互的一般方法,如平移,縮放,觸摸等?任何互動的開始和結束

我只需要知道什麼時候交互開始和結束。

+0

平移和縮放也是觸摸事件。 – rmaddy

+0

[iOS事件處理文件](http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/GestureRecognizer_basics/GestureRecognizer_basics.html)應該回答所有上述疑惑。 –

回答

0

做最簡單的事情是掛鉤UIGestureRecognizer子類你感興趣的事件:

  • UITapGestureRecognizer
  • UIPinchGestureRecognizer
  • UIRotationGestureRecognizer
  • UISwipeGestureRecognizer
  • UIPanGestureRecognizer

從那裏,你可以檢查識別的狀態和執行任何你需要的邏輯,一旦互動開始(UIGestureRecognizerStateBegan),當它結束(UIGestureRecognizerStateEndedUIGestureRecognizerStateCancelledUIGestureRecognizerStateFailed)。

您很可能想要使用一些互斥方法,以便在識別出第一種類型的手勢時,移除其他識別器以確保它們不會踩在其他腳趾上。當第一個識別的手勢結束時,您可以重新添加它們。

0

是的,你可以使用此代碼:

if (sender.state == UIGestureRecognizerStateEnded) 

或:

if (sender.state == UIGestureRecognizerStateBegan) 
+0

這個工作適合你嗎? –