我在寫卡片遊戲。當用戶用手觸摸卡片時,他們觸摸的卡片會滑出一點,以澄清他們觸摸哪一張卡片,因爲他們手中最多可以有18張卡片,並且它們很小。接下來我想要的是用戶能夠刷卡來播放它。在刷卡前允許延遲
我試圖使用UISwipeGestureRecognizer
,但由於用戶在第一次觸摸屏幕時可能會暫停(以確保正確的卡片滑出),但它通常不會將其識別爲滑動。用戶也可以將他的手指滑動到相鄰的卡上,然後滑動。所以,這是另一個問題,因爲手勢只能在觸摸開始的UIView上識別。
我能想到的最好的方法是在父視圖(包含所有卡片的UIView)上使用UIPanGestureRecognizer
。我可以用它的速度來決定它是否應該被認爲是一種滑動。我必須將cancelsTouchesInView
設置爲NO
,並且仍然只使用touchesBegan
等來檢測哪個卡被刷過。有沒有更好的辦法?
而不是使UIPanGesture工作在什麼可能不是一個正常的方式。您可以通過繼承UIGestureRecognizer來創建自己的自定義滑動手勢,該手勢可以按照您的方式工作。 –
我最喜歡這個想法。這似乎是最乾淨的。我即將觀看WWDC上的視頻。謝謝。 – dontangg
如果您傾向於將其標記爲正確,我會在自定義手勢上提供一個很好的鏈接:) –