我想用两根手指轻弹手势在几个视图之间切换。如果有人能告诉我我需要做什么,请帮忙。
问问题
1628 次
1 回答
4
在没有实际为您编写代码的情况下,您需要执行以下操作来跟踪多指滑动:
- 首先,将视图的
multipleTouchEnabled
属性设置为 YES,这样您就可以跟踪多个触摸。 - 在
touchesBegan
中,存储每个 touches 的locationInView
属性(这是 aCGPoint
)。 - 定义一个“滑动窗口”来限制您将接受的离轴运动量,并且仍然将手势视为滑动。例如,如果您要跟踪水平条纹,也许您需要一个 12x6 的“滑动窗口”——也就是说,如果您的触摸移动了至少 12 个水平像素,而移动了少于 6 个垂直像素,那么您会认为它是滑动。
- 在
touchesMoved
中,将触摸的当前位置与步骤 2 中存储的起始位置进行比较。如果它们仍在“滑动窗口”中,则不执行任何操作。如果一根或两根手指移动到其“滑动窗口”之外,则取消滑动检查。如果它们都满足滑动的要求,则在检测到多指滑动时触发您想要调用的任何方法。 - 在“touchesEnded”中,停止跟踪滑动,因为如果触摸已经结束但您仍然没有从#4 触发滑动方法,那么它们一定不构成滑动。
希望这可以帮助。
于 2009-12-21T08:23:04.027 回答