拖拽手势和清扫手势冲突时(UIPanGestureRecognizer和UISwipeGestureRecognizer冲突时)

  故事发生在这样的情境上:给整个控制器添加了一个拖拽手势,然后又在控制上的每个Cell上加了左滑清扫手势,然后问题来了:只有拖拽手势起作用,而左滑手势没有效果了,然后怎么解决这个问题呢!先上图:

当给整个控制器添加了拖拽手势(UIPanGestureRecognizer),然后在控制器里面的UITableViewCell又添加了左滑清扫手势(UISwipeGestureRecognizer),造成了只有拖拽手势起了作用,而Cell的左滑手势已经不能滑动了!

解决办法就是给这两个手势设置一个优先级:[panGes requireGestureRecognizerToFail:cell.leftSwipe];

关键代码

 1 + (instancetype)cellWithTableView:(UITableView *)tableView{
 2     static NSString *reuseIdentity = @"tanCell";
 3     
 4     TanTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentity];
 5     
 6     if (cell == nil){
 7         cell = [[TanTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentity];
 8         
 9         //设置手势优先级,避免手势冲突
10         UIPanGestureRecognizer *panGes = [tableView.superview.gestureRecognizers objectAtIndex:0];
11         [panGes requireGestureRecognizerToFail:cell.leftSwipe];
12         [panGes requireGestureRecognizerToFail:cell.rightSwipe];
13     }
14     return cell;
15 }

至于如何给Cell设置左滑多菜单功能手势,见拙文:自定义UITableViewCell实现左滑动多菜单功能LeftSwipe

DEMO下载:

github: https://github.com/xiaotanit/Tan_SwipeAndPan

原文链接:http://www.cnblogs.com/tandaxia/p/5349090.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏移动端周边技术扩展

早期 iCome iOS客户端设计

1785
来自专栏影子

SpringBoot自定义拦截器实现IP白名单功能

1.4K11
来自专栏移动开发之家

从Android到React Native开发(二、通信与模块实现)

大家吼,(◐‿◑)作为失踪人口回归,这次第二期,就让我们来怼React Native的通信,快速实现单独的React Native模块到APP里,愉悦吧骚年。...

972
来自专栏康怀帅的专栏

Nginx 编译安装

本文介绍了手动编译安装 nginx 的具体步骤。 安装依赖包 RedHat 系 $ yum install -y gcc gcc-c++ pcre-devel ...

3664
来自专栏草根专栏

从头编写 asp.net core 2.0 web api 基础框架 (3)

Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-...

4847
来自专栏慎独

UITableView实现QQ好友列表实战(动态插入删除Cell)

1495
来自专栏前端小叙

daterangepicker日历插件使用参数注意问题

显示具体时间时分秒: timePicker设置为true,//有些资料写的pickerTime不太对 重点大坑:修改时间默认展示格式,把fomat写在local...

3195
来自专栏DannyHoo的专栏

iOS开发中的并发、串行队列,同步、异步任务

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

1021
来自专栏Spark学习技巧

Hbase源码系列之regionserver应答数据请求服务设计

一,基本介绍 Hbase源码系列主要是以hbase-1.0.0为例讲解hbase源码。本文主要是将Regionserver服务端RPC的结构及处理流程。希望是帮...

5959
来自专栏进击的程序猿

swoole入门abc1. 入门abc

分析上面的代码,我们发现会有什么问题?如果两个请求同时进来,都读到了lastTime,没有被拒绝,但是这两个请求本身是已经请求过快了。

832

扫码关注云+社区

领取腾讯云代金券