UITableView上的手势冲突滑动以删除iOS
发布时间:2020-12-14 17:42:57 所属栏目:百科 来源:网络整理
导读:我的手势识别器有问题.我的目标是在我的表视图中使用滑动来删除.但我认为其他手势相互冲突.我正在使用这个libray romaonthego/REFrostedViewController 这个库为我的汉堡菜单,这个库有一个pangesture功能.我认为冲突是在手势中.因为当我在另一个项目中运行我
我的手势识别器有问题.我的目标是在我的表视图中使用滑动来删除.但我认为其他手势相互冲突.我正在使用这个libray
romaonthego/REFrostedViewController
这个库为我的汉堡菜单,这个库有一个pangesture功能.我认为冲突是在手势中.因为当我在另一个项目中运行我的tableview代码时,它正在工作.请帮助,提前谢谢你. 解决方法
编辑:已针对iOS 11进行了更新
其他答案很有帮助,但在我的情况下,最好的解决方案是在shouldRequireFailureOfOtherGesture中执行逻辑,如下所示: - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { if (gestureRecognizer == self.pan) { return YES; } return NO; } - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { if (gestureRecognizer == self.pan) { // iOS 10 if ([NSStringFromClass([otherGestureRecognizer.view class]) isEqualToString:@"UITableViewWrapperView"]) { return YES; } // iOS 11 else if ([otherGestureRecognizer isMemberOfClass:[UIPanGestureRecognizer class]] && [otherGestureRecognizer.view isKindOfClass:[UITableView class]]) { return YES; } } return NO; } 在我的情况下,这有一个更好的行为.我在平移手势上也使用了delayedTouchesBegan = YES.可能有用! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |