编辑子视图时“解锁删除”

时间:2011-10-16 17:22:28

标签: objective-c ios uitableview uinavigationcontroller

我将此表链接到右上角带有“编辑”的数据库。 我可以删除滑动,但如果我按下编辑按钮没有任何反应! 我的意思是,我在同一个程序中为另一个表写了一个类似的调用,当我按下编辑时,会出现一个小的“Unlock to delete”;然后,如果你按它,你可以删除元素/行... 不在这里!

- (void)viewDidLoad
{
    self.title = @"Categorie";
    [super viewDidLoad];
    self.navigationItem.rightBarButtonItem = self.editButtonItem;
    [self.navigationItem setHidesBackButton:YES animated:YES];
    [tableView reloadData];
}

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

- (void)tableView:(UITableView *)_tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
    {
        // A lot of code... 
    }
}

1 个答案:

答案 0 :(得分:1)

你需要告诉tableView开始使用setEditing进行编辑:(BOOL)编辑动画:(BOOL)animate

//Init your editBarButton
UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editTable)];

//Init your doneBarButton
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneEditing)];

以下是一个示例操作方法:

- (void)editTable {
   if (!self.tableView.editing) [self.tableView setEditing:YES animated:YES];
   self.navigationController.rightBarButtonItem = self.doneButton;
}

- (void)doneEditing {
   if (self.tableView.editing) [self.tableView setEditing:NO animated:YES];
   self.navigationController.rightBarButtonItem = self.editButton;
}