检测在"编辑"模式下进行的滑动到删除按钮和删除按钮之间的区别?

Luk*_*uke 3 objective-c uitableview ios

我目前有一个UITableView设置启用滑动到删除(滑动显示删除按钮).我还有一个"编辑"按钮,当按下该按钮时,会在每个单元格的红色删除圆圈中滑动.点击其中一个圆圈会导致"删除"按钮显示为我刷过单元格.

我想检测删除按钮是通过其中一个红色圆圈(即在编辑模式下)创建还是直接在单元格上滑动(原因是我希望用户确认它们是否未通过编辑模式,因为如果他们误用了它们可能会丢失大量数据).

我已经尝试了isEditingtableView 的属性,YES但是我得到了删除按钮.是否有更细微的方法来检测这个?

提前致谢!

dle*_*mex 6

更简单的方法是使用UITableView委托支持知道何时进入单行编辑.该tableView:willBeginEditingRowAtIndexPath:委托调用发生之前调用setEditing:animated:它可以让你避免任何正常的编辑设置,如创建一个插入行等tableView:willEndEditingRowAtIndexPath:被称为setEditing AFTER:动画.

所以代码很简单:

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.singleRowDeleteMode = YES;
}

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    self.singleRowDeleteMode = NO;
}

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];
    if (self.singleRowDeleteMode) { return; }
    // Continue setup of normal edit mode
}
Run Code Online (Sandbox Code Playgroud)