使用 UIViewController 创建的 UITableView 中的编辑功能



我使用 UIViewController(而不是 UITableViewController)创建了表,并将 UITableView 保留为其属性。我已经实现了数据源和委托协议的必要方法。但是当我单击"编辑"按钮时,我没有看到其单元格的任何删除(红色减号),因此我可以选择要删除的它们。如果我使用UITableViewController,同样可以正常工作。我已经实现了以下方法。

我错过了什么,它的行为方式与使用标准UITableViewController时的方式不同?

- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    [super setEditing:editing animated:animated];
self.navigationItem.rightBarButtonItem.enabled = !editing;
}

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView     editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewCellEditingStyleDelete;
}

它需要UITableView切换到编辑状态:

[self.tableView setEditing:YES animated:YES];

最新更新