UITableView setEditing为NO不会更改barButtonItem

时间:2012-07-15 08:37:44

标签: objective-c ios cocoa-touch uitableview uibarbuttonitem

我在UITableViewController内有一个UINavigationController。我将rightBarButtonItem设置为编辑按钮:

self.navigationItem.rightBarButtonItem = self.editButtonItem;

enter image description here

这很有效,在我致电tableView:commitEditingStyle:forRowAtIndexPath:后,我使用以下方式以编程方式将tableView更改为编辑模式:

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

这里奇怪的是,barButtonItem似乎仍然处于“编辑模式”,因为它仍然像我在编辑模式时那样“完成”。单击它会将按钮更改回“编辑”,然后我必须再次单击以将其恢复为编辑模式。

enter image description here

为什么barButtonItem也没有从编辑模式改变?

1 个答案:

答案 0 :(得分:10)

该按钮控制视图控制器的编辑模式,将其传递到表视图。您正在将表视图直接从编辑模式中取出,而不是告诉视图控制器。尝试在self上设置编辑模式,而不是self.tableView