UITableViewCell删除按钮没有编辑模式(如邮件应用程序)



不确定此功能是否内置于UITableViewCell中,但我想模仿邮件应用程序的行为。我有一个带有动态单元格的UITableView。当用户执行左轻扫手势时,删除按钮(我相信邮件应用程序中的按钮文本显示存档而不是删除)应出现在单元格的右侧。

我很满意之后该怎么做才能删除该行。我只需要使按钮出现并在用户向右滑动或点击UITableView中的其他任何地方时消失。

我宁愿这样做而不添加"编辑"UINavigationItem按钮并根据"表视图编程指南"将 tableView 置于编辑模式,但欣赏使用任何内置方法。

谢谢。

-tableView:canEditRowAtIndexPath: 委托不会导致按钮在轻扫时显示。您可以使用它来确定要允许编辑(删除)哪些行,如果要允许编辑所有行,则可以将其保留为未实现状态。但是,要在轻扫时显示删除按钮而不将表视图置于编辑模式,您需要实现:

- (void)tableView:(UITableView *)tableView 
                  commitEditingStyle:(UITableViewCellEditingStyle)editingStyle
                   forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // Get the object you want to remove from your 
        // collection and delete it here.
    }
}

将 UITableViewDelegate 方法-tableView:canEditRowAtIndexPath:添加到控制器。对于可删除的行,返回 YES。

最新更新