tableView与抽屉(YRSiderController)手势冲突

本人用的是第三方抽屉, 在抽屉这个类型的三方中,大家都会用到侧滑效果,然而当tableView本身自带的编辑模式的删除方法(侧滑cell删除当前cell)也触发手势之后,系统就会产生手势冲突。这个问题困扰好久,不过最终还是解决了 :)。

解决方案:我是在第三方的.m中添加了如下代码,解决的手势冲突问题。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

{

// 输出点击的view的类名

NSLog(@"%@", NSStringFromClass([touch.view class]));

// 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件

if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {

return NO;

}

return  YES;

}

时间: 2024-08-05 13:22:47

tableView与抽屉(YRSiderController)手势冲突的相关文章

iOS自定义全屏返回与tableView左划删除手势冲突解决

当自定义一个navigationController实现全屏右划返回时, 使用起来是不是很爽, 代码如下: - (void)viewDidLoad { [super viewDidLoad]; UIGestureRecognizer *gester = self.interactivePopGestureRecognizer; UIPanGestureRecognizer *panGesTer = [[UIPanGestureRecognizer alloc] initWithTarget:ge

关于iOS抽屉MMDrawerController手势冲突

问题:项目中使用到抽屉控制器MMDrawerController,中间视图设置为TabbarController.现TabbarController上的一个子控制器添加了一个TableController,cell添加侧滑删除,不灵. 原因:抽屉MMDrawerController侧滑手势与cell删除侧滑手势冲突. 解决方案: 将抽屉控制器MMDrawerController侧滑手势范围由全屏改为左侧: 找到MMDrawerController.h类,修改方法 (BOOL)isPointCon

iOS开发 MMDrawerController左右抽屉打开手势与中心视图子视图控制器手势冲突问题的解决方案

MMDrawerController是一个很好用的解决抽屉效果的第三方类,但有时候当我们在中心视图控制器中需要使用手势进行其他操作的时候会产生手势冲突,导致运行效果不符合我们的想象.那么问题来了,该怎么解决冲突问题呢? 下面是我在使用过程中的个人总结: 我的需求: 1.有一个左抽屉和中心视图控制器,从中心视图控制器右滑可以打开左抽屉. 2.中心视图控制器中的TableViewCell可通过滑动手势删除 问题所在: 1.由于删除cell的左滑手势和MMDrawerController的打开右抽屉的

iOS解决嵌套在ScrollView中的TableView滑动手势冲突问题

最近在迭代开发公司项目的时候遇到了一个问题,在可以左右切换标签视图的ScrollView中嵌套了两个TableView用于展示视图,感觉一切so easy的情况下,问题出现了,因为左右两个视图既可以实现标签切换,其中TableView还需要侧滑删除功能,那么问题来了,滑动手势懵逼了,这是要搞事情啊!他无法识别到底要做什么处理,因为滑动手势冲突了,下面简单介绍一下解决思路: 大致的项目需求如上图所示: 经过一番资料的查阅,解决办法就是继承自UIScrollView,重写UIScrollView类:

JSON、数据存储、对象唯一和手势冲突

有时候加载数据的时候,后台正常返回了,安卓正常显示了,可是无论是加载更多还是访问数据,就是加载不了那么多.这时候就要考虑是不是JSON中有哪些是iOS不支持的特殊标记或者字符了,别再苦苦找代码逻辑,语法错误了,特别是那种原来没问题,现在有问题的.不要管别人是否暗示你,咋我设备就行,你咋显示不了,是不是你技术不行.明确告诉他,不是,可能是数据的问题. 有时候你需要保存一个数据,例如时间,你需要在启动的时候就保存一下时间,然后每次启动都在和这个时间做比较,可是怎么能让你保存的时间不被系统启动时不断的

UItableView 加手势冲突问题的解决

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { // 获取点击的view的类名 NSLog(@"%@", NSStringFromClass([touch.viewclass])); // 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件 if ([NSSt

iOS 手势冲突

UITableView以及ScrollView不能相迎TouchBegin处理 IOS开发之手势--UIGestureRecognizer 共存 // 关键在这一行,如果双击确定偵測失败才會触发单击 [singleRecognizer requireGestureRecognizerToFail:doubleRecognizer]; 关于UIScrollView不能响应UITouch事件的解决办法 覆盖touch事件 ios的手势操作之UIGestureRecognizer浅析 UITapGes

解决右滑返回手势和UIScrollView中的手势冲突

项目中遇到一个页面中是以一个scrollview横向Tab展示两个不同功能的显示,譬如消息和公告功能,但是由于滑动返回手势和scrollview的滑动返回手势冲突了,导致页面不再能够滑动返回.类似的还有图片浏览功能也出现过. iOS系统中,滑动返回手势,其实是一个UIPanGestureRecognizer,系统默认的操作是只有滑动屏幕的左边的某个位置,UIPanGestureRecognizer才会起作用.UIScrollView的滑动手势也是UIPanGestureRecognizer.那在

UICollectionView与UITableView混用手势冲突

前言 最近在重构某个模块,以后别人封装的所谓的基类就像一坨死一样,看见就恶心,相信同行的你们能够明白那种心情.为什么要重构?并不是真的因为它像一坨死,而是因为这个模块是用户使用最频繁的,而且出现了不少bug,最重要的是这bug还是p1级别的致命bug. 曾经经过了几天的压力测试都没有复现出来,但是用户却频繁反馈,这就是决定重构的原因了.重构的界面是这样的: 当UICollectionView中的每个cell放的是一个controller.view而这个controller.view又放一个UIT