给图片添加是需要打开用户交互
self.imageView.userInteractionEnabled=YES;
1.点击
UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];
(1)设置点击几次才会触发
tap.numberOfTapsRequired=2;
(2)设置几个手指进行点击
tap.numberOfTouchesRequired=2;
(3)将手势添加到对应的图片上
[self.imageview addGestureRecognizer:tap];
[tap release];
(4)实现
- (void)tapAction:(UITapGestureRecognizer *)tap{
NSLog(@"测试点击手势”);
}
2.长按
UILongPressGestureRecognizer *longPress=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressAction:)];
(1)设置长按触发的最小时间
longPress.minimumPressDuration=2;
(2)用户手指在长按过程中允许的移动距离
longPress.allowableMovement=200;
(3)把手势添加到图片上
[self.view addGestureRecognizer:longPress];
[longPress release];
(4)实现
- (void)longPressAction:(UILongPressGestureRecognizer *)longPress{
NSLog(@"测试点击手势”);
}
3.旋转
(1)创建一个旋转手势
UIRotationGestureRecognizer *rotation=[[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotation:)];
(2)把手势放到图片上
[self.imageview addGestureRecognizer:rotation];
(3)释放
[rotation release];
(4)实现
-(void)rotation:(UIRotationGestureRecognizer *)rotation{
//可以通过手势获取手势添加的视图是哪一个..
UIImageView *imageView=(UIImageView *)rotation.view;
//进行旋转的操作
//通过视图的transform属性让视图进行旋转
imageView.transform=CGAffineTransformRotate(imageView.transform, rotation.rotation);
rotation.rotation=0;
}
4.捏合
(1)创建
UIPinchGestureRecognizer *pinch=[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchAction:)];
(2)把手势放到图片上
[self.imageview addGestureRecognizer:pinch];
(3)释放
[pinch release];
(4)实现
-(void)pinchAction:(UIPinchGestureRecognizer*)pinch{
//根据手势找视图
UIImageView *imageView=(UIImageView *)pinch.view;
//通过transform改变图片的尺寸
imageView.transform=CGAffineTransformScale(imageView.transform, pinch.scale, pinch.scale);
pinch.scale=1;
}
5.拖拽
(1)创建
UIPanGestureRecognizer *pan=[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction:)];
(2)把手势放到图片上
[self.imageview addGestureRecognizer:pan];
(3)释放
[pan release];
(4)实现
- (void)panAction:(UIPanGestureRecognizer *)pan{
//根据手势找视图
UIImageView *imageView=(UIImageView *)pan.view;
//通过手势获得经过的点
CGPoint p=[pan translationInView:imageView];
//设置移动位置
imageView.transform=CGAffineTransformTranslate(imageView.transform, p.x, p.y);
//为了防止手势在操作的时候视图消失
[pan setTranslation:CGPointZero inView:imageView];
}
6.轻扫
(1)创建
UISwipeGestureRecognizer *swipe=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeAction:)];
(2)把手势放到图片上
[self.imageview addGestureRecognizer:swipe];
(3)释放
[swipe release];
//轻扫的方向
swipe.direction = UISwipeGestureRecognizerDirectionRight;
(4)实现
- (void)swipeAction:(UISwipeGestureRecognizer *)swipe{
if (swipe.direction==UISwipeGestureRecognizerDirectionRight) { NSLog(@"向右");
}
}
iOS 添加手势
最新推荐文章于 2021-09-29 21:20:01 发布