[問題] pan手勢問題

看板MacDev作者 (yavis)時間8年前 (2015/08/24 14:40), 8年前編輯推噓1(1015)
留言16則, 3人參與, 最新討論串1/1
專案上寫了pan手勢, 往上與右滑判定為數字遞增, 往左與往下滑則為數字遞減, 但現在遇到兩個問題是, 問題1. 當滑動完得到想要的數字後例如100, 手指一離開螢幕數字會變101或102, 沒辦法準確得到想要的數值 問題2. 上下滑動的數值沒辦法精準的遞增或遞減 例如向上滑動數值會在100 - 110打轉一陣子才繼續往上遞增 以下是我的程式碼: http://pastebin.com/d3cCn6gi 想請問版上前輩這兩個小問題要如何解決呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.56.185 ※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1440398447.A.E8F.html

08/24 15:58, , 1F
GestureRecognizer 有幾個State可能要判斷一下。
08/24 15:58, 1F

08/24 15:59, , 2F
Begin, Chagned, End ...
08/24 15:59, 2F

08/24 16:26, , 3F
用位置取代速度,要精準的話位置跟數值的比例要大一點
08/24 16:26, 3F

08/24 16:26, , 4F
另外先檢查x再檢查y基本上y幾乎沒有作用,因為x很難為0
08/24 16:26, 4F

08/24 16:32, , 5F
如果比例無法增加,那就給他兩個按鈕按一下加減一
08/24 16:32, 5F

08/24 17:44, , 6F
請問如果用switch取代if elseif的話會不會比較精準呢?
08/24 17:44, 6F

08/24 18:11, , 7F
使用translationInView取代velocityInView
08/24 18:11, 7F
※ 編輯: yavis (60.248.56.185), 08/25/2015 17:19:04

08/25 17:21, , 8F
我使用了translationInView會發生一個問題,如果手勢向右拖
08/25 17:21, 8F

08/25 17:22, , 9F
曳,數字會正常遞增,在手指不放開情況下改往左邊拖曳,
08/25 17:22, 9F

08/25 17:24, , 10F
數字還是會繼續遞增,似乎沒有比velocityInView來的理想
08/25 17:24, 10F

08/26 10:55, , 11F
你要把第一次按下的點記起來,然後跟trainslation相減
08/26 10:55, 11F

08/26 10:57, , 12F
說錯了,是把初始的num記起來,然後根據translate改變
08/26 10:57, 12F

08/26 10:58, , 13F
num=oriNum+translate;
08/26 10:58, 13F

08/26 10:59, , 14F
num=oriNum+translate/gap; gap代表多少像素要加減1
08/26 10:59, 14F

08/26 11:00, , 15F
如果要同時上下左右,應該要先判斷x與y的絕對值哪個大
08/26 11:00, 15F

08/26 11:00, , 16F
然後使用較大的那個當translate
08/26 11:00, 16F
文章代碼(AID): #1LshnlwF (MacDev)