禁用导航栏编辑按钮
问题描述:
我有一个UITableView。在我的导航栏上,我有一个编辑按钮。我希望能够根据特定条件启用和禁用它。例如,当用户删除特定类型的行的最后一行时,我想将编辑按钮变灰,因为没有更多这些行要删除。禁用导航栏编辑按钮
我目前做的是检查在
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
,看看我是否要禁用编辑按钮(因为这似乎是最明智的地方做它,因为用户只能删除这些带有红色删除图标的行)。然后我拨打:
[self.tableView setEditing:NO animated:NO];
[self.navigationItem.leftBarButtonItem setEnabled:NO];
灰化编辑按钮。它的作品,但编辑按钮的标题仍然是'完成',而不是'编辑'。此外,如果用户添加了一些行,并且检查是否应该再次启用编辑按钮 - 我发现编辑模式仍然是YES(即重新启用时编辑按钮是蓝色的)。
我该如何解决这个问题?
答
您使用的是navigationcontroller吗?如果是,请尝试设置控制器上的编辑:
[self.navigationController setEditing:NO animated:NO];
谢谢。奇迹般有效。 – Garry 2010-07-04 20:51:00