日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS 手势

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS 手势 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、UIGestureRecognizer介紹

手勢識別在iOS上非常重要,手勢操作移動設備的重要特征,極大的增加了移動設備使用便捷性。
iOS系統在3.2以后,為方便開發這使用一些常用的手勢,提供了UIGestureRecognizer類。手勢識別UIGestureRecognizer類是個抽象類,下面的子類是具體的手勢,開發這可以直接使用這些手勢識別。
  • UITapGestureRecognizer? ? ? ? ? ? ? ? ? ? 點擊
  • UIPinchGestureRecognizer? ? ? ? ? ? ? ? 縮放
  • UIRotationGestureRecognizer? ? ? ? ? 旋轉
  • UISwipeGestureRecognizer? ? ? ? ? ? ? ? 滑動
  • UIPanGestureRecognizer? ? ? ? ? ? ? ? ? ? 拖拽
  • UILongPressGestureRecognizer? ? ? ? 長按

手勢可以分為“事件手勢”與“狀態手勢”, 例如TapGesture指的點擊的時候響應,是瞬間動作, 而panGesture指的拖拽, 只要狀態是檢測到是拖拽狀態,都會響應回調方法。
UIGestureRecognizer的繼承關系如下:


Gesture的狀態
gesture.state :

  • UIGestureRecognizerStateBegan
  • UIGestureRecognizerStateChanged
  • UIGestureRecognizerStateEnded
  • UIGestureRecognizerStateCancelled
  • UIGestureRecognizerStateFailed


常用:
swipeGesture的滑動方向值 swipGesture.direction ==

  • UISwipeGestureRecognizerDirectionRight
  • UISwipeGestureRecognizerDirectionLeft
  • UISwipeGestureRecognizerDirectionUp
  • UISwipeGestureRecognizerDirectionDown

獲取panGesture的拖動偏移量 以及 各方向的速度:

CGPoint distanceSource = [sender translationInView:sender.view];//獲取拖拽手勢的偏移量CGFloat x = distanceSource.x;CGFloat y = distanceSource.y;

CGPoint velocity = [sender velocityInView:sender.view];//獲取拖拽的X,Y方向速度CGFloat speedX = velocity.x;CGFloat speedY = velocity.y;

同時觸發兩個view的手勢

手勢之間是互斥的,如果你想同時觸發兩個view,那么需要實現協議 --?UIGestureRecognizerDelegate 并將以下方法返回設置為YES -(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { return YES; }//別忘了設置代理 panGestureRecognizer.delegate = self; pinchGestureRecognizer.delegate = self; rotateRecognizer.delegate = self;
手勢依賴
<span style="font-size:14px;">[tapRecognizer requireGestureRecognizerToFail:panGestureRecognizer]; </span>上面的意思是, 當如果pan手勢失敗,就是沒發生拖動,才會出發tap手勢。












總結

以上是生活随笔為你收集整理的iOS 手势的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。