如何检测两个手指轻弹

时间:2009-12-21 03:36:06

标签: iphone uiview uitouch multi-touch gesture-recognition

我想用两根手指用轻弹手势在几个视图之间切换。如果有人能告诉我我需要做什么,请帮助。

1 个答案:

答案 0 :(得分:4)

如果没有真正为您编写代码,请执行以下操作来跟踪多指滑动:

  1. 首先,将您的视图的multipleTouchEnabled属性设置为YES,以便您能够跟踪多个触摸。
  2. touchesBegan中,存储每个触摸'locationInView属性(这是CGPoint)。
  3. 定义一个“滑动窗口”,用于限制您接受的离轴运动量,并仍然将手势视为滑动。例如,如果你想要跟踪水平条纹,也许你想要一个12x6的“滑动窗口” - 也就是说,如果你的触摸移动至少12个水平像素,同时移动少于6个垂直像素,那么你'我认为这是一个轻扫。
  4. touchesMoved中,将触摸的当前位置与步骤2中存储的起始位置进行比较。如果它们仍处于“滑动窗口”中,则不执行任何操作。如果一个或两个手指移动到其“滑动窗口”之外,则取消滑动检查。如果他们都满足了滑动的要求,请在您检测到多指滑动时触发您想要调用的任何方法。
  5. 在'touchesEnded'中,停止跟踪滑动,因为如果触摸已经结束但你还没有从#4触发滑动方法,那么它们一定不能构成滑动。
  6. 希望这有帮助。