http://blog.csdn.net/totogo2010/article/details/8615940iphone
UITapGestureRecognizer Tap(點一下)ui
UIPinchGestureRecognizer Pinch(二指往內或往外撥動,平時常常用到的縮放)spa
UIRotationGestureRecognizer Rotation(旋轉).net
UISwipeGestureRecognizer Swipe(滑動,快速移動)blog
UIPanGestureRecognizer Pan (拖移,慢速移動)索引
UILongPressGestureRecognizer LongPress(長按)圖片
自定義手勢 TouchBegainip
出現衝突時,要設定優先識別順序,目前只是doubleTap、swipe
[singleTap requireGestureRecognizerToFail:doubleTap];
[singleTap requireGestureRecognizerToFail:twoFingerTap];
[pinch requireGestureRecognizerToFail:swipeRight];
[pinch requireGestureRecognizerToFail:swipeLeft];get
向左移動it
UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftHandleSwipe:)];//聲明和初始化手勢識別器
//對手勢識別器進行屬性設定
[swipeLeft setNumberOfTouchesRequired:1];
[swipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[self.view addGestureRecognizer:swipeLeft];//把手勢識別器加到view中去
單擊
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleTap];
雙擊
UITapGestureRecognizer *doubleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleDoubleTap:)];
[doubleTap setNumberOfTapsRequired:2]; //點擊的次數
[self.view addGestureRecognizer:doubleTap];
兩個手指單擊
UITapGestureRecognizer *twoFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTwoFingerTap:)];
[twoFingerTap setNumberOfTouchesRequired:2];//手指的個數
[self.view addGestureRecognizer:twoFingerTap];
旋轉
UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(handleRotation:)];
[self.view addGestureRecognizer:rotation];
縮放
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinch:)];
[self.view addGestureRecognizer:pinch];
拖動
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePan:)];
[self.view addGestureRecognizer:pan];
長按
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleLongPress:)];
[self.view addGestureRecognizer:longPress];
對應效果在各個方法中對應處理
1.點擊(Tap)
點擊做爲最經常使用手勢,用於按下或選擇一個控件或條目(相似於普通的鼠標點擊)、
2.拖動(Drag)
拖動用於實現一些頁面的滾動,以及對控件的移動功能。
3.滑動(Flick)
滑動用於實現頁面的快速滾動和翻頁的功能。
4.橫掃(Swipe)
橫掃手勢用於激活列表項的快捷操做菜單
5.雙擊(Double Tap)
雙擊放大並居中顯示圖片,或恢復原大小(若是當前已經放大)。同時,雙擊可以激活針對文字編輯菜單。
6.放大(Pinch open)
放大手勢能夠實現如下功能:打開訂閱源,打開文章的詳情。在照片查看的時候,放大手勢也可實現放大圖片的功能。
7.縮小(Pinch close)
縮小手勢,能夠實現與放大手勢相反且對應的功能的功能:關閉訂閱源退出到首頁,關閉文章退出至索引頁。在照片查看的時候,縮小手勢也可實現縮小圖片的功能。
8.長按(Touch &Hold)
在個人訂閱頁,長按訂閱源將自動進入編輯模式,同時選中手指當前按下的訂閱源。這時可直接拖動訂閱源移動位置。
針對文字長按,將出現放大鏡輔助功能。鬆開後,則出現編輯菜單。
針對圖片長按,將出現編輯菜單。
9.搖晃(Shake) 搖晃手勢,將出現撤銷與重作菜單。主要是針對用戶文本輸入的。