在细胞上进行fingure滑动的委托方法

Abh*_*nav 0 iphone cocoa-touch uitableview uikit swipe

是否有任何委托方法称为表格单元格上的一次滑动,右侧是否有删除按钮?

我想跟踪滑动并在那里做一些动作.

此外,当您点击单元格中的"删除"按钮时,会调用哪个委托方法.

替代文字

Rob*_*und 6

在行进入"编辑"模式之前将调用该UITableViewDelegate方法tableView:editingStyleForRowAtIndexPath:.当您滑动单元格时以及表视图接收setEditing:animated消息时调用此方法.如果您有一个"编辑"按钮,将表视图置于编辑模式,则需要注意将为每个可见单元调用.

所以你可以这样做:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView 
           editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    if (tableView.editing) {
        return UITableViewCellEditingStyleDelete;
    }
    else {
        // do your thing
        return UITableViewCellEditingStyleDelete;
    }
}
Run Code Online (Sandbox Code Playgroud)

当你点击删除按钮tableView:commitEditingStyle:forRowAtIndexPath:被调用.

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // repsond to delete
    }     
}
Run Code Online (Sandbox Code Playgroud)

如果您想更改删除按钮的文本,您可以使用 tableView:titleForDeleteConfirmationButtonForRowAtIndexPath:

如果在另一边你不想显示删除按钮但做其他事情你应该调查UISwipeGestureRecognizer并自己处理它.