我在写卡片游戏。当用户用手触摸卡片时,他们触摸的卡片会滑出一点,以澄清他们触摸哪一张卡片,因为他们手中最多可以有18张卡片,并且它们很小。接下来我想要的是用户能够刷卡来播放它。在刷卡前允许延迟
我试图使用UISwipeGestureRecognizer
,但由于用户在第一次触摸屏幕时可能会暂停(以确保正确的卡片滑出),但它通常不会将其识别为滑动。用户也可以将他的手指滑动到相邻的卡上,然后滑动。所以,这是另一个问题,因为手势只能在触摸开始的UIView上识别。
我能想到的最好的方法是在父视图(包含所有卡片的UIView)上使用UIPanGestureRecognizer
。我可以用它的速度来决定它是否应该被认为是一种滑动。我必须将cancelsTouchesInView
设置为NO
,并且仍然只使用touchesBegan
等来检测哪个卡被刷过。有没有更好的办法?
而不是使UIPanGesture工作在什么可能不是一个正常的方式。您可以通过继承UIGestureRecognizer来创建自己的自定义滑动手势,该手势可以按照您的方式工作。 –
我最喜欢这个想法。这似乎是最干净的。我即将观看WWDC上的视频。谢谢。 – dontangg
如果您倾向于将其标记为正确,我会在自定义手势上提供一个很好的链接:) –