2

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

4

1 回答 1

4

在没有实际为您编写代码的情况下,您需要执行以下操作来跟踪多指滑动:

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

希望这可以帮助。

于 2009-12-21T08:23:04.027 回答