Ios UITableView子视图上的UISwipegestureRecognitor

Ios UITableView子视图上的UISwipegestureRecognitor,ios,objective-c,uitableview,scroll,uiswipegesturerecognizer,Ios,Objective C,Uitableview,Scroll,Uiswipegesturerecognizer,| | | | | 我有这个层次结构,在UIView(B)上添加了uisweedgesturerecognizer,我为滑动手势提供了所有四个方向,但是当我尝试向上和向下滑动UITableView滚动时,它只能检测左右方向,我应该怎么做才能识别滑动,而不是进行表格滚动 我在谷歌搜索后(单独)做了以下操作,但它不起作用 ---------------- UIView (B) 我无法禁用/启用表格滚动,因为还有其他视图要显示。您可以通过以下方式禁用表格视图滚动,同时显示视图B: swipeUp.c

|

|

|

|

|

我有这个层次结构,在
UIView
(B)上添加了
uisweedgesturerecognizer
,我为滑动手势提供了所有四个方向,但是当我尝试向上和向下滑动
UITableView
滚动时,它只能检测左右方向,我应该怎么做才能识别滑动,而不是进行表格滚动

我在谷歌搜索后(单独)做了以下操作,但它不起作用

---------------- UIView (B)

我无法禁用/启用表格滚动,因为还有其他视图要显示。

您可以通过以下方式禁用
表格视图
滚动,同时显示视图B:

swipeUp.cancelsTouchesInView = NO; //swipeUp is UISwipeGestureRecognizer

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    return YES;
}
这将阻止表格视图滚动。隐藏视图B后,不要忘记启用
tableview
滚动。为此,您需要执行以下操作:

 table.scrollEnabled = NO;
编辑:

你可以看看

 table.scrollEnabled = YES;
通过该代理,您可以确定手势正在哪个视图上工作。看看这个


希望这有帮助。:)

好把戏!但我不能这样做,因为表中还有其他视图。
swipeUp.cancelsTouchesInView = NO; //swipeUp is UISwipeGestureRecognizer

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    return YES;
}
 table.scrollEnabled = NO;
 table.scrollEnabled = YES;
- (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch