手势识别器
来源:互联网 发布:中国白银集团淘宝店 编辑:程序博客网 时间:2024/05/17 22:33
一.轻拍手势 (tap)
1.定义一个触发方法
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action :@selector(tapAction:)];
2.设置
(1)响应事件的轻拍次数
tap.numberOfTapsRequired = 2; (两次)
(2)需要几根手指
tap.numberOfTouchedRequired = 2;
二.长按手势(longPress)
1.定义一个触发方法
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressAction:)];
2.设置
(1)触发方法是所需要的时间
longPress.minimumPressDuration = 3; //3秒
(2)长按时 允许用户移动手指的距离
longPress.allowableMovement = 100;
三.轻扫手势(swipe)
1.定义一个触发方法
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeAction:)];
2.设置
轻扫方向
swipe.direction = UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight;
四.拖拽手势(pan)
1.定义一个触发方法
UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panAction:)];
2.拖拽的触发方法设置
- (void)panAction : (UIPanGestureRecognizer *)pan
{
NSLog(@"拖拽");
//通过手势的view属性 获取到当前手势添加到的view
UIImageView *imageView = (UIImageView *)pan.view;
//获取到 当前手指接触的点
CGPoint p = [pan translationInView:imageView];
//让view变形
imageView.transform = CGAffineTransformTranslate(imageView.transform, p.x, p.y);
//重置手势的属性
[pan setTranslation:CGPointZero inView:imageView];
}
五.旋转手势(rotation)
1,定义触发方法
UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotationAction:)];
2.触发方法设置
(1)获取到当前手势添加到得 view
UIImageView *imageView = (UIImageView *)rotation.view;
(2)让view旋转 利用旋转手势的 旋转弧度
imageView.transform = CGAffineTransformRotate(imageView.transform, rotation.rotation);
rotation.rotation = 0;
六.捏合手势(pinch)
1.定义触发方法
UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinchAction:)];
2.触发方法设置(1)获取当前的view
UIImageView *imageView = (UIImageView *)pinch.view;
(2)在x,y轴方向 放大 缩小
imageView.transform = CGAffineTransformScale(imageView.transform, pinch.scale, 1);
pinch.scale = 1;
七.屏幕边缘拖拽
1.定义触发方法
IScreenEdgePanGestureRecognizer *screenEdgePan = [[UIScreenEdgePanGestureRecognizer alloc]initWithTarget:self action:@selector(screenPan:)];
2.设置
(1)设置检测哪一边的屏幕边缘
screenEdgePan.edges = UIRectEdgeLeft;
(2)将UIImageView的用户交互打开,使它能响应轻拍
[imageView setUserInteractionEnabled:YES];
- 手势识别(一)手势识别器
- 手势识别器
- 手势识别器
- 33.手势识别器
- UI_GestureRecognizer_手势识别器
- UI04手势识别器
- 手势识别器(敲击)
- android手势识别器
- 手势识别器
- UIGestureRecognizer(手势识别器)
- 44.手势识别器
- 手势识别器
- 手势识别器
- 手势识别器(UIImageView)
- 手势识别器
- UI05_手势识别器
- UI05_手势识别器
- UI05_手势识别器
- 黑马程序员——反射
- solr4.8中集成mmseg4j1.9.1
- eclipse 鲜为人知的调试技巧,你用过多少
- C# devExpress GridControl 行中行 子行 多级行
- poj 2151 Check the difficulty of problems(概率dp)
- 手势识别器
- linux常用c函数字符串转换篇
- csdn还是"待审核"吗?
- js创建对象和继承
- POJ 1279 Art Gallery
- Java中I/O流
- mysql connector odbc配置注意事项
- 解释器模式
- 浏览器嵌入视频播放器(转载)