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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

IOS手势识别

發布時間:2023/12/20 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS手势识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.響應者鏈的事件傳遞過程 (1)如果view的控制器存在,就傳遞給控制器;如果控制器不存在,則將其傳遞給它的父視圖。 (2)在視圖層次結構的最頂級視圖,如果也不能處理收到的事件或消息,則其將事件或消息傳遞給window對象進行處理。 (3)如果window對象也不處理,則其將事件或消息傳遞給UIApplication對象。 (4)如果UIApplication也不能處理該事件或消息,則將其丟棄。2. UIGestureRecognizer 如果想監聽一個view上面的觸摸事件,之前的做法是: (1)自定義一個view。 (2)實現view的touches方法,在方法內部實現具體處理代碼。 通過touches方法監聽view觸摸事件,有很明顯的幾個缺點: (1)必須得自定義view。 (2)由于是在view內部的touches方法中監聽觸摸事件,因此默認情況下,無法讓其他外界對象監聽view的觸摸事件。 (3)不容易區分用戶的具體手勢行為。 iOS 3.2之后,蘋果推出了手勢識別功能(Gesture Recognizer),在觸摸事件處理方面,大大簡化了開發者的開發難度。 為了完成手勢識別,必須借助于手勢識別器----UIGestureRecognizer,利用UIGestureRecognizer,能輕松識別用戶在某個view上面做的一些常見手勢, UIGestureRecognizer是一個抽象類,定義了所有手勢的基本行為,使用它的子類才能處理具體的手勢: (1)UITapGestureRecognizer(敲擊)(2)UIPinchGestureRecognizer(捏合,用于縮放)(3)UIPanGestureRecognizer(拖拽)(4)UISwipeGestureRecognizer(輕掃)(5)UIRotationGestureRecognizer(旋轉)(6)UILongPressGestureRecognizer(長按)

代碼:為一個view添加一個事件(兩個手指點擊兩次才會觸發)

#import "ViewController.h"@interface ViewController () @property (weak, nonatomic) IBOutlet UIView *grayView;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];tap.numberOfTapsRequired = 2;// 設置點擊次數:默認為1tap.numberOfTouchesRequired = 2; // 設置點擊的手指個數[self.grayView addGestureRecognizer:tap];}- (void)tap:(UITapGestureRecognizer *)tapGesture {NSLog(@"用兩個手指點擊了兩次"); }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }@end

總結

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

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