我需要计算拖动方向,确定用户是在拖动屏幕还是在屏幕下方。如何跟踪触摸矢量?
其实很简单吧?但是:
1)手指下降,你会得到-touchesBegan:withEvent:方法称为
2)必须等待,直到手指的移动,并-touchesMoved:withEvent:方法被调用
3)问题:在这指出用户确实拖动或拖动很危险。
我的想法:检查时间并积累计算矢量,直到安全地告诉触摸方向。
简单吗?不需要考虑:如果用户在同一地点将手指按住5分钟,但是THEN决定向上还是向下移动?砰!你的代码会失败,因为它试图确定手指没有真正移动时的触摸方向。
问题2:当手指下垂并停留在同一地点几秒钟,因为用户有点风,并且现在想要做什么,你会得到很多-touchesMoved:withEvent :很有可能,但触摸位置的变化很小。
所以我的下一个想法:在-touchesMoved:withEvent:中进行积累,但只有当超过某个运动阈值时。
我敢打赌你有一些更好的概念?
是不是有这种类型的库? – 2010-05-09 15:51:41