2010-07-03 120 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