2010-07-03 124 views
1

我有一个UITableView。在我的导航栏上,我有一个编辑按钮。我希望能够根据特定条件启用和禁用它。例如,当用户删除特定类型的行的最后一行时,我想将编辑按钮变灰,因为没有更多这些行要删除。禁用导航栏编辑按钮

我目前做的是检查在

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

,看看我是否要禁用编辑按钮(因为这似乎是最明智的地方做它,因为用户只能删除这些带有红色删除图标的行)。然后我拨打:

[self.tableView setEditing:NO animated:NO]; 
[self.navigationItem.leftBarButtonItem setEnabled:NO]; 

灰化编辑按钮。它的作品,但编辑按钮的标题仍然是'完成',而不是'编辑'。此外,如果用户添加了一些行,并且检查是否应该再次启用编辑按钮 - 我发现编辑模式仍然是YES(即重新启用时编辑按钮是蓝色的)。

我该如何解决这个问题?

回答

1

您使用的是navigationcontroller吗?如果是,请尝试设置控制器上的编辑:

[self.navigationController setEditing:NO animated:NO]; 
+0

谢谢。奇迹般有效。 – Garry 2010-07-04 20:51:00