iOS 添加手势

给图片添加是需要打开用户交互
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(@"向右");
   }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值