2009-12-21 59 views

回答

4

没有实际编写你的代码,这里就是你需要做跟踪多个手指轻扫:

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

希望这会有所帮助。