仅禁用UITableViewCell上的左侧滑动。

时间:2012-10-24 13:46:08

标签: ios iphone uitableview uigesturerecognizer uipangesturerecognizer

我的主视图控制器包括一个表视图,右侧还有一个单独的视图,当用户向左移动时,该视图会折叠。

我在此控制器上设置了 PanGestureRecogniser ,以便用户可以使用它在两个视图之间切换。除了一个问题外,它的工作正常。

当只有一个或两个单元格时,用户需要使用底部未被单元格覆盖的空白区域进行平移。当有单元格覆盖整个视图时,或当用户向左移动时,单元格的滑动删除功能会被激活,因为平移手势始终会触发滑动手势。

我想保留滑动到删除功能,但当用户在单元格上向右滑动时,

任何左侧滑动/平移都应始终展开右侧的第二个视图。我正在使用自定义UITableViewCell子类。有没有办法禁用左侧滑动才能进入删除模式?

1 个答案:

答案 0 :(得分:1)

这完全有可能。

这是代码。将其添加到您的- (void) viewDidLoad方法:

UISwipeGestureRecognizer * newSwipeGR = [[UISwipeGestureRecognizer alloc] initWithTarget:nil action:nil];
newSwipeGR.direction = UISwipeGestureRecognizerDirectionLeft;
newSwipeGR.numberOfTouchesRequired = 1;
[self.myTableView addGestureRecognizer:newSwipeGR];

仍然正常启用删除模式,但您现在发现删除滑动仅适用于一个方向。