不确定此功能是否内置于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。