iOS-手勢(shì)識(shí)別


ios系統(tǒng)提供了一些常用的手勢(shì)(UIgestureRecognizer的子類)歹颓,方便我們直接使用毒坛。


UIGestureRecognizer的繼承關(guān)系:

6種手勢(shì)中只有UITapGestureRecognizer是離散型手勢(shì)
  • 離散型手勢(shì)特點(diǎn):

一旦識(shí)別就無法取消芬首,而且只會(huì)調(diào)用一次手勢(shì)操作事件(就是初始化手勢(shì)時(shí)指定的回調(diào)方法)蛙吏。

  • 連續(xù)性手勢(shì)特點(diǎn):

另外五種是連續(xù)性手勢(shì)涉瘾,他們會(huì)多次調(diào)用手勢(shì)操作事件要出,而且在連續(xù)手勢(shì)識(shí)別后可以取消手勢(shì)捉偏。


添加手勢(shì)識(shí)別的步驟

1.創(chuàng)建手勢(shì)識(shí)別對(duì)象實(shí)例
創(chuàng)建時(shí)倒得,指定一個(gè)回調(diào)方法,當(dāng)手勢(shì)開始夭禽,改變霞掺、或結(jié)束時(shí),執(zhí)行回調(diào)方法讹躯。

2.設(shè)置手勢(shì)識(shí)別器對(duì)象實(shí)例的相關(guān)屬性
這部分不是必須編寫的菩彬。

3.將手勢(shì)識(shí)別添加到對(duì)應(yīng)的視圖中
每個(gè)手勢(shì)只對(duì)應(yīng)一個(gè) View,當(dāng)用戶觸摸的范圍在 View 的邊界內(nèi)時(shí)潮梯,如果手勢(shì)和預(yù)定的一樣骗灶,那就會(huì)執(zhí)行回調(diào)方法。


點(diǎn)擊手勢(shì)TapGestureRecognizer

  • 新建tap手勢(shì)
    UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:)];
  • 設(shè)置點(diǎn)擊次數(shù)和點(diǎn)擊手指數(shù)
    這里可以控制用戶的單擊或者是雙擊
    tapGesture.numberOfTapsRequired = 1; //點(diǎn)擊次數(shù)
    tapGesture.numberOfTouchesRequired = 1; //點(diǎn)擊手指數(shù)
  • 將手勢(shì)添加到對(duì)應(yīng)視圖
    [self.view addGestureRecognizer:tapGesture];
  • 點(diǎn)擊觸發(fā)的方法
-(void)tapGesture:(id)sender
{
    //點(diǎn)擊后要做的事情        
}

長(zhǎng)按手勢(shì)LongPressGestureRecognizer

  • 新建長(zhǎng)按手勢(shì)
    UILongPressGestureRecognizer *longPressGesture = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressGesture:)];
  • 設(shè)置長(zhǎng)按時(shí)間
    longPressGesture.minimumPressDuration = 0.5; //(2秒)
  • 添加長(zhǎng)按手勢(shì)到對(duì)應(yīng)視圖
    [self.view addGestureRecognizer:longPressGesture];
  • 長(zhǎng)按觸發(fā)的方法
-(void)longPressGesture:(id)sender{
     //長(zhǎng)按后要做的事情
 }

輕掃手勢(shì)SwipeGestureRecognizer

  • 添加輕掃手勢(shì)
    UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeGesture:)];
  • 設(shè)置輕掃的方向
    swipeGesture.direction = UISwipeGestureRecognizerDirectionRight; //默認(rèn)向右
  • 添加輕掃手勢(shì)到對(duì)應(yīng)視圖
    [self.view addGestureRecognizer:swipeGesture];
  • 輕掃觸發(fā)的方法
-(void)swipeGesture:(id)sender{ 
    //輕掃后要做的事情
}

捏合手勢(shì)PinchGestureRecognizer

  • 添加捏合手勢(shì)
UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchGesture:)];
  • 將捏合手勢(shì)添加到對(duì)應(yīng)視圖
[self.view addGestureRecognizer:pinchGesture];
  • 捏合觸發(fā)的方法
-(void)pinchGesture:(id)sender{
    //捏合后要做的事
}

拖動(dòng)手勢(shì)PanGestureRecognizer

  • 添加拖動(dòng)手勢(shì)
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGesture:)];
  • 將拖動(dòng)手勢(shì)添加到對(duì)應(yīng)視圖
[self.view addGestureRecognizer:panGesture];
  • 拖動(dòng)觸發(fā)的方法
-(void)panGesture:(id)sender{
    //拖動(dòng)后要做的事
}

旋轉(zhuǎn)手勢(shì)RotationGestureRecognizer

  • 添加旋轉(zhuǎn)手勢(shì)
UIRotationGestureRecognizer *rotationGesture = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationGesture:)];
  • 將旋轉(zhuǎn)手勢(shì)添加到對(duì)應(yīng)視圖
[self.view addGestureRecognizer:rotationGesture];
  • 旋轉(zhuǎn)觸發(fā)的方法
-(void)rotationGesture:(id)sender{
    //旋轉(zhuǎn)后要做的事
}

demo:http://pan.baidu.com/s/1kVplmCZ

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秉馏,一起剝皮案震驚了整個(gè)濱河市耙旦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌萝究,老刑警劉巖母廷,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異糊肤,居然都是意外死亡琴昆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門馆揉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來业舍,“玉大人,你說我怎么就攤上這事升酣∠夏海” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵噩茄,是天一觀的道長(zhǎng)下面。 經(jīng)常有香客問我,道長(zhǎng)绩聘,這世上最難降的妖魔是什么沥割? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任耗啦,我火速辦了婚禮,結(jié)果婚禮上机杜,老公的妹妹穿的比我還像新娘帜讲。我一直安慰自己,他們只是感情好椒拗,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布似将。 她就那樣靜靜地躺著,像睡著了一般蚀苛。 火紅的嫁衣襯著肌膚如雪在验。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天堵未,我揣著相機(jī)與錄音腋舌,去河邊找鬼。 笑死兴溜,一個(gè)胖子當(dāng)著我的面吹牛侦厚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拙徽,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼刨沦,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了膘怕?” 一聲冷哼從身側(cè)響起想诅,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎岛心,沒想到半個(gè)月后来破,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忘古,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年徘禁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片髓堪。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡送朱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出干旁,到底是詐尸還是另有隱情驶沼,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布争群,位于F島的核電站回怜,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏换薄。R本人自食惡果不足惜玉雾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一翔试、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧抹凳,春花似錦遏餐、人聲如沸伦腐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柏蘑。三九已至幸冻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間咳焚,已是汗流浹背洽损。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留革半,地道東北人碑定。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像又官,于是被迫代替她去往敵國(guó)和親延刘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容