如何从表格视图中删除单元格?

时间:2010-01-15 12:10:19

标签: iphone uitableview

我的导航栏中有一个“编辑”按钮,我有一个表视图。

我的编辑按钮调用-editAction方法。

然后,我有这段代码删除一个单元格,但我不知道如何让编辑按钮调用此代码...或者编辑按钮如何让表格视图显示那些红色删除每个单元格的圆圈,然后触发:

// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // Delete the managed object at the given index path
        NSManagedObject *eventToDelete = [eventsArray objectAtIndex:indexPath.row];
        [managedObjectContext deleteObject:eventToDelete];

        // Update Event objects array and table view
        [eventsArray removeObjectAtIndex:indexPath.row];
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];

        // Commit the change
        NSError *error;
        if (![managedObjectContext save:&error]) {
            // Handle the error
        }
    } 
}

2 个答案:

答案 0 :(得分:3)

根据UITableView类参考文档,代码:

tableView.editing = YES;

应将表格置于编辑模式并显示红色删除圆圈。然后,当用户删除一个单元格时,应该调用数据源方法。

您还可以使用[tableView setEditing:YES animated:YES];来制作动画效果

答案 1 :(得分:2)

在视图控制器的-viewDidLoad方法中添加“编辑”按钮:

self.navigationItem.rightBarButtonItem = self.editButtonItem;

此按钮将切换控制器的编辑模式,发送它-setEditing:animated: