如何实现UITableView像滚动和单元格攻击行为?

时间:2012-02-07 18:16:36

标签: ios uiscrollview

在UITableView中,您可以点按并按住表格单元格并取消点按,如果移动手指则继续滚动。如何使用带有子视图的UIScrollView完成此操作?我能够做到这一点你可以滚动,你可以点击子视图,但我遇到了后一种行为的问题 - 如果你在点击并按住时移动你的手指,滚动视图继续滚动。

1 个答案:

答案 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];
}