将editButtonItem连接到UITableView

时间:2012-10-15 15:08:27

标签: ios cocoa-touch uiviewcontroller uitableview

我有一个UIViewController,在其视图中添加了UITableViewUIToolbar。不幸的是,我不能在这个例子中使用UITableViewController

我已将视图控制器的editButtonItem添加到工具栏中。我需要复制UITableViewController上编辑按钮的默认行为 - 编辑按钮应该绑定到tableView并将其切换为编辑模式。

我已覆盖UIViewController的{​​{1}}以包含该行:

setEditing

这大部分都有效 - 当使用[_tableView setEditing:editing animated:animated]; 时,表格视图成功进入和退出编辑模式。

但是,至少有一个问题。在editButtonItem上,当用户在表格中的某一行滑动时,编辑按钮会切换为“已完成”。 '完成'然后将该行返回到它的非编辑版本。此外,触摸行外部会将其返回到查看模式,并将编辑按钮还原为“完成”。

我的问题:

  1. 如何复制此行为,以便当单个行进入/退出编辑模式时,“编辑”按钮会更改状态?
  2. 我需要复制UITableViewController UITableViewController的哪些其他行为?

1 个答案:

答案 0 :(得分:5)

我在自己的应用程序中有这样的情况。我实现了以下表视图委托方法:

- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    [self setEditing:YES animated:YES];
}

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    [self setEditing:NO animated:YES];
}