iOS UIGestureRecognizer的使用

   


  我们使用手势也是比较常见的,就写一下UIGestureRecognizer的衍生类别来进行判断吧,主要是比较方便,有现成的手势,直接用就可以了,

主要有以下几种,

  • UITapGestureRecognizer   // 点一下
  • UIPinchGestureRecognizer  // 两指波动(内或者外)
  • UIRotationGestureRecognizer //旋转
  • UISwipeGestureRecognizer //滑动  ,快速移动
  • UIPanGestureRecognizer   //拖动,慢移动
  • UILongPressGestureRecognizer  //长按  

下面就是具体的使用方法,直接贴代码了,比较直白一点,

//开启手势

-(void)SetGuesture

{

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

    [self.myScrollerview addGestureRecognizer:recognizer];


    UILongPressGestureRecognizer *Changan = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(ChangAnAction:)];

    [self.myScrollerview addGestureRecognizer:Changan];

}

-(void)actionClick :(UISwipeGestureRecognizer *)recognizer

{

    NSLog(@"手势");

}

-(void)ChangAnAction:(UILongPressGestureRecognizer *)Changan

{

    NSLog(@"长按");

}

当然我是写在外面的方法里,如果按照我的方法写,不要忘了在viewDidload里面调用一下这个方法哈(我想大家是不会忘记的。。仅作提醒),
写到这里呢,运行一下应该是有效果的了,
但是有一个问题,当两个手势之间有冲突怎么办呢,比如单击和双击,点击就会触动方法,按照这种说法,双击就不能实现了。。
当然,这是不可能实现不了的, UIGestureRecognizer里面有一个方法requireGestureRecognizerToFail,它可以指定recognizer,所以使用单击双击的时候加上这一句
    [danji requireGestureRecognizerToFail:shuangji];
这样就ok了,意思就是只有在双击失败的情况下,才会触发单击的方法,如此而已。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值