IOS常用手势用法

   target参数指的是给谁用手势,入button,view等

    //1.单击

    UITapGestureRecognizer *singleTapGR=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(singleTap:)];

    [self.buttonView addGestureRecognizer:singleTapGR];

  - (void)singleTap:(UITapGestureRecognizer *)tap

  {

      NSLog(@"单击");

  }

 

     //2.双击

    UITapGestureRecognizer *doubleTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(doubleTap:)];

    doubleTap.numberOfTapsRequired=2;

    [self.buttonView addGestureRecognizer:doubleTap];

    //区别单击双击

    [singleTapGR requireGestureRecognizerToFail:doubleTap];

    

  //双击点击事件

  -(void)doubleTap:(UITapGestureRecognizer *)taggestrue

 {

    NSLog(@"双击");

 }

 

    //3.轻扫

    UISwipeGestureRecognizer *swipeGesture=[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipe:)];

    //设置轻扫方向,默认向右

    swipeGesture.direction=UISwipeGestureRecognizerDirectionDown;

    [self.view addGestureRecognizer:swipeGesture];

  //轻扫事件

 -(void)swipe:(UISwipeGestureRecognizer *)swipeGesture

 {

    NSLog(@"轻扫手势");

 }

    

    //4.平移

    UIPanGestureRecognizer *panGesture=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(pan:)];

    [self.view addGestureRecognizer:panGesture];

  -(void)pan:(UIPanGestureRecognizer *)pan

  {

      CGPoint point=[pan locationInView:self.view];

      NSLog(@"%@",NSStringFromCGPoint(point));

  }

 

    

    //5.长按

    UILongPressGestureRecognizer *longPressGesture=[[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPress:)];

    longPressGesture.minimumPressDuration=1;

    [self.buttonView addGestureRecognizer:longPressGesture];

  -(void)longPress:(UILongPressGestureRecognizer *)longPress

  {

      //长按离开时一会调用一次,所以需要设置手势状态

      if(longPress.state==UIGestureRecognizerStateEnded)

      {

          NSLog(@"UIGestureRecognizerStateEnded");

          return;

      }

      NSLog(@"长按超过两秒");

  }

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/menchao/p/4825536.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值