在我的故事板中,我有一個UITableViewController
(嵌入在UINavigationController
中),我在其上添加了CANCEL按鈕作爲左欄按鈕項。抑制UINavigationController欄中默認的「編輯」按鈕的方法?
在運行時,CANCEL按鈕不會出現,但是EDIT按鈕會出現。
我還沒有明確地添加編輯按鈕並一直保持編輯功能的默認實現其禁用狀態這樣的:
// Override to support conditional editing of the table view.
override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
// Return false if you do not want the specified item to be editable.
return false
}
我已經研究過的方法來隱藏編輯按鈕,這條線的代碼作品:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationItem.leftBarButtonItem = nil
}
...因爲它隱藏了編輯按鈕。但是,它也隱藏了CANCEL和左邊的所有其他按鈕!
我發現代碼,明確顯示了編輯按鈕,即:
self.navigationItem.leftBarButtonItem = self.editButtonItem
但找不到取消等同。
那麼,有沒有辦法隱藏編輯按鈕,但顯示取消按鈕?
---更新#1 ---
我已經通過每隨附的屏幕截圖一個IBOutlet連接取消按鈕上我的課的代碼。
---更新#2 ---
我現在已經確保了
tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath)
和
tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)
被註釋掉。所以,據我所知,這個TableViewController對編輯行沒有任何幫助。然而,'編輯'按鈕仍然出現並混淆了我的'取消'按鈕。
你的故事板的屏幕截圖會有幫助。 –
取消按鈕和編輯按鈕都是左側? 如果是,那麼你應該做一件事情,爲什麼你不改變那個取消按鈕的標題,並檢查該按鈕的選擇布爾值,並根據你做的代碼和改變它的標題。 – Akash
@Akash,我不確定你要求我做什麼。我曾嘗試將其改爲「自定義」系統,而不是「取消」。我也改變了按鈕的標題,但沒有改變。你是什麼意思'檢查該按鈕被選中布爾值'? – Dave