在UITableView中,您可以点按并按住表格单元格并取消点按,如果移动手指则继续滚动。如何使用带有子视图的UIScrollView完成此操作?我能够做到这一点你可以滚动,你可以点击子视图,但我遇到了后一种行为的问题 - 如果你在点击并按住时移动你的手指,滚动视图继续滚动。
答案 0 :(得分:0)
我假设您在子视图中使用了UITapGestureRecognizer
。滚动视图使用UIPanGestureRecognizer
进行滚动。除非平移识别器发生故障,否则您只需告诉分接识别器不识别。
如果你的目标是iOS 5,这很容易:
[self.tapRecognizer requireGestureRecognizerToFail:self.scrollView.panGestureRecognizer];
如果您的目标是旧版iOS,则UIScrollView
的旧版本不具有panGestureRecognizer
属性。相反,您必须搜索滚动视图的gestureRecognizers
数组:
for (UIGestureRecognizer *recognizer in self.scrollView.gestureRecognizers) {
if ([recognizer isKindOfClass:[UIPanGestureRecognizer class]])
[self.tapRecognizer requireGestureRecognizerToFail:recognizer];
}