2010-11-11 67 views
4

我有一個表格視圖,我想在某些條件下在編輯模式下調出。如何以編程方式更改editButtonItem的狀態?

我可以設置表本身進入編輯模式用下面的代碼:

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

但這種觀點控制器還具有一個editButtonItem,其出現在正常模式下,顯示上的按鈕「編輯」。我想將此按鈕設置爲編輯模式,因此它會顯示「完成」,並在選中時將整個表格切換回普通模式。此按鈕設置與典型:

self.navigationItem.rightBarButtonItem = self.editButtonItem; 

有沒有辦法切換到編輯模式編程模式的按鈕?如果我改變按鈕的樣式,它會改變外觀,但實際上並沒有改變按鈕的模式。

回答

19

隨着多一點研究,我回答了我自己的問題。我需要將表視圖和視圖控制器本身都設置爲編輯模式 - 然後表格和editButtonItem都會反映正確的狀態。像這樣:

[self.tableView setEditing:YES animated:YES]; 
[self setEditing:YES]; 
+4

真的有必要嗎?我認爲如果你只是在控制器上設置Edit:YES,tableview應該自動跟隨 – Rhubarb 2012-10-08 18:39:04

+1

沒有必要,只需使用'[tableViewController setEditing:YES animated:YES];'。表格視圖控制器將自動調用表格上的setEditing。 – Andy 2015-04-26 14:09:17

+0

可以只使用self.isEditing(這裏是Swift 3),但是這個改變在tableView上沒有動畫。 – mangerlahn 2016-08-17 19:35:15

相關問題