无法覆盖滑动以删除iOS v>的单元格功能。 6.1

时间:2013-11-22 12:49:48

标签: ipad uitableview ios7 uiswipegesturerecognizer

我们正在开发一个iPad应用程序,其中使用Storyboard文件创建整个UI。

在其中一个视图控制器场景中,有一个包含自定义单元格的UITableView。

当我滑动到表格单元格时,会出现一个删除按钮。

如何禁用此滑动以删除功能。我们在顶部导航栏上有自己的编辑按钮,用于设置UITableView的editingMode。我们要求禁用滑动以删除功能。

以下是我们已经尝试过的内容:

1。 Overriden滑动手势方法:

 UISwipeGestureRecognizer *gestureR = [[UISwipeGestureRecognizer alloc]
                                             initWithTarget:self action:@selector(handleSwipeFrom:)];
 [gestureR setDirection:UISwipeGestureRecognizerDirectionRight];//|UISwipeGestureRecognizerDirectionRight)];
 [myTableView addGestureRecognizer:gestureR];

我们已经在myTableView和CustomCell文件中尝试过这个手势。

2。删除滑动手势方法:

  UIGestureRecognizer* swipe = [[self.tableView gestureRecognizers] objectAtIndex:2];
    [myTableView removeGestureRecognizer:swipe];

这两个代码块都不适合我们。

此问题仅适用于iOS 7,因为UITableView提供了默认的滑动删除功能。

请为此提出解决方案。

1 个答案:

答案 0 :(得分:0)

(1。)实际上不是覆盖。似乎添加多个识别器可能会有不确定的结果 (2.)看起来像私有API黑客,所以也不可取。

相反,通过覆盖这些方法来控制表视图的编辑行为:

- tableView:willBeginEditingRowAtIndexPath:
– tableView:editingStyleForRowAtIndexPath:

有关详细信息,请参阅documentation