如何判斷UIPanGestureRecognizer的拖動方向,uipangesture拖動

來源:互聯網
上載者:User

如何判斷UIPanGestureRecognizer的拖動方向,uipangesture拖動

最近做一個項目,需要用到UIPanGestureRecognizer做一個側滑菜單,需求是不能向右側拖動(點擊按鈕右滑),但可以向左側手勢拖動收回;於是需要判斷拖動的方向,百度了一下,網上大部分的答案是這樣判斷的:

CGPoint translation = [recognizer translationInView:recognizer.view];

if(translation.x>0)

{

  //向右滑動

}

else

{

  //向左滑動

}

不過,在實際開發中,我發現不論是向左拖動或者是向右拖動,translation.x始終大於0,於是看了一下translationInView:的官方解釋是擷取手勢在相對指定視圖的移動距離,即在X,Y軸上移動的像素,應該是沒有正負的,於是考慮用velocityInView:這個方法,這個方法是擷取手勢在指定視圖座標系統的移動速度,結果發現這個速度是具有方向的,

CGPoint velocity = [recognizer velocityInView:recognizer.view];

if(velocity.x>0)

{

  //向右滑動

}

else

{

//向左滑動

}

於是乎,問題解決。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.