2009-09-10 35 views
2

我的控制器从UITableViewController继承,左键分配给'editButtonItem'。如何在发出所有他们想要的删除操作后,找出用户何时点击了“完成”按钮?tableView的commitEditingStyle并知道何时点击“完成”按钮

self.navigationItem.leftBarButtonItem = self.editButtonItem; 

我执行

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 

有了这个,我看的时候删除发生在表中的每个项目,但我也想知道什么时候“完成”按钮被击中。

回答

3

原来,我需要重写:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 

这会告诉我,当编辑已经结束。

+0

您是否需要在覆写代码中首先使用家长的相同方法? – 2010-04-05 22:39:55

0

您也可以使用自定义的UIBarButtonItem为编辑:

editButton = [[UIBarButtonItem alloc] initWithTitle:@"Edit" 
    style:UIBarButtonItemStyleBordered target:self action:@selector(toggleEditing)]; 
editButton.possibleTitles = [NSSet setWithObjects:@"Edit", @"Save", nil]; 
self.navigationItem.leftBarButtonItem = editButton; 
isEdit = YES; // class level flag 

- (void)toggleEditing { 
    if (isEdit) { 
    isEdit = NO; 
    editButton.text = @"Save"; 
    ... 

    } 
    else { 
    isEdit = YES; 
    editButton.text = @"Save"; 
    ... 
    } 
} 

这样,你必须编辑按钮的标题的控制并将其更改为“保存”,而不是“完成”,如果你有一个取消按钮在右边。

相关问题