我需要計算拖動方向,確定用戶是在拖動屏幕還是在屏幕下方。如何跟蹤觸摸矢量?
其實很簡單吧?但是:
1)手指下降,你會得到-touchesBegan:withEvent:方法稱爲
2)必須等待,直到手指的移動,並-touchesMoved:withEvent:方法被調用
3)問題:在這指出用戶確實拖動或拖動很危險。
我的想法:檢查時間並積累計算矢量,直到安全地告訴觸摸方向。
簡單嗎?不需要考慮:如果用戶在同一地點將手指按住5分鐘,但是THEN決定向上還是向下移動?砰!你的代碼會失敗,因爲它試圖確定手指沒有真正移動時的觸摸方向。
問題2:當手指下垂並停留在同一地點幾秒鐘,因爲用戶有點風,並且現在想要做什麼,你會得到很多-touchesMoved:withEvent :很有可能,但觸摸位置的變化很小。
所以我的下一個想法:在-touchesMoved:withEvent:中進行積累,但只有當超過某個運動閾值時。
我敢打賭你有一些更好的概念?
是不是有這種類型的庫? – 2010-05-09 15:51:41