1

我的主视图控制器包括一个表格视图和一个单独的右侧视图,当用户向左平移时它会折叠起来。

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

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

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

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

4

1 回答 1

1

这是完全可能的。

这是代码。将相同的内容添加到您的- (void) viewDidLoad方法中:

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

仍然像往常一样启用删除模式,但是您现在发现删除滑动只在一个方向上起作用。

于 2013-04-07T19:38:05.460 回答