我有一個UIView,可以用我用UIPanGestureRecognizer實現的手指拖動。這允許我水平拖動視圖;左還是右。如何使拖動的UIView減速?
使我的看法,而從UIPanGestureRecognizer收到以下狀態(使用translationInView:法):移動
- UIGestureRecognizerStateBegan
- UIGestureRecognizerStateChanged
現在會發生什麼,是視圖一旦手指離開屏幕表面就停止移動,這會產生非自然的效果。
我想要的是,通過平穩停止,拖動視圖將從狀態UIGestureRecognizerStateEnded開始減速。
UIScrollView類和子類(UIWebView,UITableView等)使用這種行爲。
我已經嘗試了幾種方法,通過計算速度,觸摸發生的時間和停止距離等,但老實說,我有一種無處可去獲得自然行爲的感覺。我甚至試圖使用像Chipmunk這樣的物理引擎。但是我發現這對我試圖實現的東西來說很複雜,我很確定應該有更好的(如果不是更簡單的話)解決方案。
非常感謝!
傑里米
您是否使用過UIScrollView decelarationRate? – westsider 2010-10-29 16:25:30
我沒有使用UIScrollView,也沒有使用子類。我只是想實現一個減速機制。 – jchatard 2010-10-29 16:30:17
你是如何解決這個問題的? – nico 2011-03-31 02:44:57