使用iOS手势UIGestureRecognizer
2013-02-01 16:06
459 查看
UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势。UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势:
1、拍击UITapGestureRecognizer(任意次数的拍击)
2、向里或向外捏UIPinchGestureRecognizer(用于缩放)
3、摇动或者拖拽UIPanGestureRecognizer
4、擦碰UISwipeGestureRecognizer(以任意方向)
5、旋转UIRotationGestureRecognizer(手指朝相反方向移动)
6、长按UILongPressGestureRecognizer
对于不同类型的手势识别器,具有不同的配置属性。比如UITapGestureRecognizer,可以配置拍击次数。界面接收到手势之后,可以发送一个消息,用于处理响应手势动作后的任务。当然,不同的手势识别器,发送的消息方法也会有所不同。下面列举几个具体示例代码:
http://www.ctolive.com/space-1023-do-blog-id-2107.html
1、拍击UITapGestureRecognizer(任意次数的拍击)
2、向里或向外捏UIPinchGestureRecognizer(用于缩放)
3、摇动或者拖拽UIPanGestureRecognizer
4、擦碰UISwipeGestureRecognizer(以任意方向)
5、旋转UIRotationGestureRecognizer(手指朝相反方向移动)
6、长按UILongPressGestureRecognizer
对于不同类型的手势识别器,具有不同的配置属性。比如UITapGestureRecognizer,可以配置拍击次数。界面接收到手势之后,可以发送一个消息,用于处理响应手势动作后的任务。当然,不同的手势识别器,发送的消息方法也会有所不同。下面列举几个具体示例代码:
[代码]一个手指,拍击两次手势
01 | //创建一个手势识别器 |
02 | UITapGestureRecognizer*oneFingerTwoTaps= |
03 | [[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(oneFingerTwoTaps)]autorelease]; |
04 |
05 | //Setrequiredtapsandnumberoftouches |
06 | [oneFingerTwoTapssetNumberOfTapsRequired:2]; |
07 | [oneFingerTwoTapssetNumberOfTouchesRequired:1]; |
08 |
09 | //Addthegesturetotheview |
10 | [[selfview]addGestureRecognizer:oneFingerTwoTaps]; |
11 |
12 | 消息方法oneFingerTwoTaps |
13 | -( void )oneFingerTwoTaps |
14 | { |
15 | NSLog(@ "Action:Onefinger,twotaps" ); |
16 | } |
[代码]两个手指,拍击两次手势
01 | UITapGestureRecognizer*twoFingersTwoTaps= |
02 | [[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(twoFingersTwoTaps)]autorelease]; |
03 | [twoFingersTwoTapssetNumberOfTapsRequired:2]; |
04 | [twoFingersTwoTapssetNumberOfTouchesRequired:2]; |
05 | [[selfview]addGestureRecognizer:twoFingersTwoTaps]; |
06 |
07 | 消息方法twoFingersTwoTaps |
08 | -( void )twoFingersTwoTaps{ |
09 | NSLog(@ "Action:Twofingers,twotaps" ); |
10 | } |
[代码]一个手指向上、向下擦碰手势
01 | //向上擦碰 |
02 | UISwipeGestureRecognizer*oneFingerSwipeUp= |
03 | [[[UISwipeGestureRecognizeralloc]initWithTarget:selfaction:@selector(oneFingerSwipeUp:)]autorelease]; |
04 | [oneFingerSwipeUpsetDirection:UISwipeGestureRecognizerDirectionUp]; |
05 | [[selfview]addGestureRecognizer:oneFingerSwipeUp]; |
06 |
07 | -( void )oneFingerSwipeUp:(UISwipeGestureRecognizer*)recognizer |
08 | { |
09 | CGPointpoint=[recognizerlocationInView:[selfview]]; |
10 | NSLog(@ "Swipeup-startlocation:%f,%f" ,point.x,point.y); |
11 | } |
12 |
13 | //向下擦碰 |
14 | UISwipeGestureRecognizer*oneFingerSwipeDown= |
15 | [[[UISwipeGestureRecognizeralloc]initWithTarget:selfaction:@selector(oneFingerSwipeDown:)]autorelease]; |
16 | [oneFingerSwipeDownsetDirection:UISwipeGestureRecognizerDirectionDown]; |
17 | [[selfview]addGestureRecognizer:oneFingerSwipeDown]; |
18 |
19 | -( void )oneFingerSwipeDown:(UISwipeGestureRecognizer*)recognizer |
20 | { |
21 | CGPointpoint=[recognizerlocationInView:[selfview]]; |
22 | NSLog(@ "Swipedown-startlocation:%f,%f" ,point.x,point.y); |
23 | } |
[代码]旋转手势
1 | UIRotationGestureRecognizer*twoFingersRotate= |
2 | [[[UIRotationGestureRecognizeralloc]initWithTarget:selfaction:@selector(twoFingersRotate:)]autorelease]; |
3 | [[selfview]addGestureRecognizer:twoFingersRotate]; |
4 |
5 | -( void )twoFingersRotate:(UIRotationGestureRecognizer*)recognizer |
6 | { |
7 | //Converttheradianvaluetoshowthedegreeofrotation |
8 | NSLog(@ "Rotationindegreessincelastchange:%f" ,[recognizerrotation]*(180/M_PI)); |
9 | } |
[代码]向里或向外捏的手势
1 | UIPinchGestureRecognizer*twoFingerPinch= |
2 | [[[UIPinchGestureRecognizeralloc]initWithTarget:selfaction:@selector(twoFingerPinch:)]autorelease]; |
3 | [[selfview]addGestureRecognizer:twoFingerPinch]; |
4 |
5 | -( void )twoFingerPinch:(UIPinchGestureRecognizer*)recognizer |
6 | { |
7 | NSLog(@ "Pinchscale:%f" ,recognizer.scale); |
8 | } |
相关文章推荐
- iOS 使用手势UIGestureRecognizer对图像进行缩放、移动、旋转操作
- iOS--手势控制的使用:单击、双击、长按、滑动、托移、捏合、晃动。。
- iOS 使用手势UIGestureRecognizer对图像进行缩放、移动、旋转等操作
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS 使用手势UIGestureRecognizer对图像进行缩放、移动、旋转等操作
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- IOS-手势使用大全 待更新
- IOS 使用自定义手势屏蔽按钮解决方法/UITapGestureRecognizer屏蔽Button
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS 手势简单使用总结
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- ios 各别设备 使用自定义手势 精确度问题 导致手势失效
- iOS手势识别使用(拖动,缩放,旋转,点击,长按,滑动,自定义手势)等等
- 【IOS】使用手势对UIImageView进行缩放、旋转和移动
- iOS UI里面五大手势使用
- 如何使用iOS手势UIGestureRecognizer
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- IOS开发-手势简单使用及手势不响应处理办法