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

时间:2012-06-06 15:57:24

标签: iphone objective-c uitableview

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

我很喜欢在删除行之后要做什么。如果用户向右滑动或点击UITableView中的任何其他位置,我只需要使按钮显示和消失。

我更愿意这样做而不添加“编辑”UINavigationItem按钮并按照“表视图编程指南”将tableView置于编辑模式,但是欣赏使用任何内置方法。

感谢。

2 个答案:

答案 0 :(得分:3)

-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.
    }
}

答案 1 :(得分:2)

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