手势UIGestureRecognizer

如果不设置背景颜色的话 有可能 不响应手势
手势如果不响应
1 看是否添加到了imageview上 如果是 把 self.view.userInteractionEnabled 设置成YES
2 查看是否设置了背景颜色 如果没有设置 设置背景颜色
3 手势冲突 设置手势的优先级 (截获触发事件。手势)设置优先级
requireGestureRecognizerToFail

五大手势:点击(还包括 长按) 拖拽 旋转 捏合 轻扫(都属于手势 继承自UIGestureRecognizer 父类)

1、点击
初始化一个点击的手势(这里初始化会附带一个要触发的方法)

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

设置点击的次数

 tap.numberOfTapsRequired = 1;

设置点击手指的个数

tap.numberOfTouchesRequired = 1;

将手势添加到屏幕上

[self.view addGestureRecognizer:tap];

2、长按
初始化

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

最小按下的持续时间

longPress.minimumPressDuration = 1;

手指的个数

longPress.numberOfTouchesRequired = 2;

把手势添加到视图上

[self.view addGestureRecognizer:longPress];

3、拖拽
初始化

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

设置最少的手指个数

pan.minimumNumberOfTouches = 2;

设置最多的手指个数

pan.maximumNumberOfTouches = 2;

添加到屏幕上

 [self.view addGestureRecognizer:pan];

4、轻扫
初始化

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

轻扫的方向

 swipe.direction = UISwipeGestureRecognizerDirectionLeft;

添加到屏幕上

[self.view addGestureRecognizer:swipe];

5、捏合
初始化

  UIPinchGestureRecognizer *pinch =[[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinch:)];
    [self.view addGestureRecognizer:pinch];

6、旋转

UIRotationGestureRecognizer *rotation =[[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotation:)];

    [self.view addGestureRecognizer:rotation];

设置手势优先级
//需要 轻扫手势执行完 之后 再去执行 拖拽手势
//设置手势优先级

 [pan requireGestureRecognizerToFail:swipe];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ldl_csdn_ios

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值