使用iOS手势UIGestureRecognizer
生活随笔
收集整理的這篇文章主要介紹了
使用iOS手势UIGestureRecognizer
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
UIKit中包含了UIGestureRecognizer類(lèi),用于檢測(cè)發(fā)生在設(shè)備中的手勢(shì)。UIGestureRecognizer是一個(gè)抽象類(lèi),定義了所有手勢(shì)的基本行為,它有下面一些子類(lèi)用于處理具體的手勢(shì):?
??? 1、拍擊UITapGestureRecognizer (任意次數(shù)的拍擊)??
??? 2、向里或向外捏UIPinchGestureRecognizer (用于縮放)??
??? 3、搖動(dòng)或者拖拽UIPanGestureRecognizer??
??? 4、擦碰UISwipeGestureRecognizer (以任意方向)??
??? 5、旋轉(zhuǎn)UIRotationGestureRecognizer (手指朝相反方向移動(dòng))??
??? 6、長(zhǎng)按UILongPressGestureRecognizer?
對(duì)于不同類(lèi)型的手勢(shì)識(shí)別器,具有不同的配置屬性。比如UITapGestureRecognizer,可以配置拍擊次數(shù)。界面接收到手勢(shì)之后,可以發(fā)送一個(gè)消息,用于處理響應(yīng)手勢(shì)動(dòng)作后的任務(wù)。當(dāng)然,不同的手勢(shì)識(shí)別器,發(fā)送的消息方法也會(huì)有所不同。下面列舉幾個(gè)具體示例代碼:?
??? 1、拍擊UITapGestureRecognizer (任意次數(shù)的拍擊)??
??? 2、向里或向外捏UIPinchGestureRecognizer (用于縮放)??
??? 3、搖動(dòng)或者拖拽UIPanGestureRecognizer??
??? 4、擦碰UISwipeGestureRecognizer (以任意方向)??
??? 5、旋轉(zhuǎn)UIRotationGestureRecognizer (手指朝相反方向移動(dòng))??
??? 6、長(zhǎng)按UILongPressGestureRecognizer?
對(duì)于不同類(lèi)型的手勢(shì)識(shí)別器,具有不同的配置屬性。比如UITapGestureRecognizer,可以配置拍擊次數(shù)。界面接收到手勢(shì)之后,可以發(fā)送一個(gè)消息,用于處理響應(yīng)手勢(shì)動(dòng)作后的任務(wù)。當(dāng)然,不同的手勢(shì)識(shí)別器,發(fā)送的消息方法也會(huì)有所不同。下面列舉幾個(gè)具體示例代碼:?
一個(gè)手指,拍擊兩次手勢(shì)
// 創(chuàng)建一個(gè)手勢(shì)識(shí)別器 UITapGestureRecognizer *oneFingerTwoTaps =[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerTwoTaps)] autorelease];// Set required taps and number of touches [oneFingerTwoTaps setNumberOfTapsRequired:2]; [oneFingerTwoTaps setNumberOfTouchesRequired:1];// Add the gesture to the view [[self view] addGestureRecognizer:oneFingerTwoTaps];消息方法oneFingerTwoTaps
- (void)oneFingerTwoTaps {NSLog(@"Action: One finger, two taps"); }兩個(gè)手指,拍擊兩次手勢(shì)
UITapGestureRecognizer *twoFingersTwoTaps =[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersTwoTaps)] autorelease];[twoFingersTwoTaps setNumberOfTapsRequired:2];[twoFingersTwoTaps setNumberOfTouchesRequired:2];[[self view] addGestureRecognizer:twoFingersTwoTaps];消息方法twoFingersTwoTaps
- (void)twoFingersTwoTaps {NSLog(@"Action: Two fingers, two taps");}一個(gè)手指向上、向下擦碰手勢(shì)
// 向上擦碰UISwipeGestureRecognizer *oneFingerSwipeUp =[[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerSwipeUp:)] autorelease];[oneFingerSwipeUp setDirection:UISwipeGestureRecognizerDirectionUp];[[self view] addGestureRecognizer:oneFingerSwipeUp];- (void)oneFingerSwipeUp:(UISwipeGestureRecognizer *)recognizer{CGPoint point = [recognizer locationInView:[self view]];NSLog(@"Swipe up - start location: %f,%f", point.x, point.y);}// 向下擦碰UISwipeGestureRecognizer *oneFingerSwipeDown =[[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerSwipeDown:)] autorelease];[oneFingerSwipeDown setDirection:UISwipeGestureRecognizerDirectionDown];[[self view] addGestureRecognizer:oneFingerSwipeDown];- (void)oneFingerSwipeDown:(UISwipeGestureRecognizer *)recognizer{CGPoint point = [recognizer locationInView:[self view]];NSLog(@"Swipe down - start location: %f,%f", point.x, point.y);}?
?旋轉(zhuǎn)手勢(shì) UIRotationGestureRecognizer *twoFingersRotate =[[[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingersRotate:)] autorelease]; [[self view] addGestureRecognizer:twoFingersRotate];- (void)twoFingersRotate:(UIRotationGestureRecognizer *)recognizer {// Convert the radian value to show the degree of rotationNSLog(@"Rotation in degrees since last change: %f", [recognizer rotation] * (180 / M_PI)); }向里或向外捏的手勢(shì)
UIPinchGestureRecognizer *twoFingerPinch =[[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingerPinch:)] autorelease]; [[self view] addGestureRecognizer:twoFingerPinch];- (void)twoFingerPinch:(UIPinchGestureRecognizer *)recognizer {NSLog(@"Pinch scale: %f", recognizer.scale); }?
轉(zhuǎn)載于:https://www.cnblogs.com/goodleixiao/archive/2012/06/04/2534443.html
總結(jié)
以上是生活随笔為你收集整理的使用iOS手势UIGestureRecognizer的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 腾达 W302R 无线路由器 PPPOE
- 下一篇: IOS-翻转注意