tableView与抽屉(YRSiderController)手势冲突
本人用的是第三方抽屉, 在抽屉这个类型的三方中,大家都会用到侧滑效果,然而当tableView本身自带的编辑模式的删除方法(侧滑cell删除当前cell)也触发手势之后,系统就会产生手势冲突。这个问题困扰好久,不过最终还是解决了 :)。 本人用的是第三方抽屉, 在抽屉这个类型的三方中,大家都会用到侧滑效果,然而当tableView本身自带的编辑模式的删除方法(侧滑cell删除当前cell)也触发手势之后,系统就会产生手势冲突。这个问题困扰好久,不过最终还是解决了 :)。
(
PS:经调试 本方法解决手势冲突依旧存在小问题,就是界面中只要是遇到UITableViewCellContentView 直接屏蔽了抽屉的手势滑动,所以还请大家慎用,同时真心求一种比较好的方法解决此问题,大神们出手吧!)。 ( PS:经调试 本方法解决手势冲突依旧存在小问题,就是界面中只要是遇到UITableViewCellContentView 直接屏蔽了抽屉的手势滑动,所以还请大家慎用,同时真心求一种比较好的方法解决此问题,大神们出手吧!)。
解决方案:我是在第三方的.m中添加了如下代码,解决的手势冲突问题。 解决方案:我是在第三方的.m中添加了如下代码,解决的手势冲突问题。
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
{
// 输出点击的view的类名 // 输出点击的view的类名
NSLog(@"%@", NSStringFromClass([touch.view class])); NSLog(@"%@", NSStringFromClass([touch.view class]));
// 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件 // 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO; return NO;
} }
return YES; return YES;
} }
- (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; }
上一篇:
IDEA上Java项目控制台中文乱码