編輯:我忘了提及我不能使用Apple的預定義編輯按鈕,因爲我需要工具欄中的按鈕而不是導航欄(我找不到在工具欄上添加Apple的編輯按鈕的方法。是可能的,請讓我知道)。爲什麼我的導航工具欄中的UIBarButtonItem不能更改標題?
我知道這個問題似乎是一個很大的已經問其他的問題,但我已經嘗試了所有的這些問題和他們的非解決方案已經幫助我解決這個問題。
我研究這個問題,並嘗試每一個解決方案,我發現能想到的。
我有我的工具欄中的UIBarButtonItem。它是作爲編輯按鈕工作的,所以點擊時我希望標題改回完成。但是,每當我改變標題時,什麼都不會發生。我也測試了這個值,當我打印出標題的值時,我每次都得到零值。我無法弄清楚這個...
@IBOutlet weak var customEditButton: UIBarButtonItem!
func viewDidLoad() {
super.viewDidLoad()
tableView.setEditing(false, animated: false)
customEditButton.title? = "Edit"
print("customEditButton = \(customEditButton.title)") //This prints nil
...
}
@IBAction func editButtonIsClicked(_ sender: UIBarButtonItem) {
print("MarksTable: editButtonIsClicked")
if (self.tableView.isEditing) {
tableView.setEditing(false, animated: true)
customEditButton.title? = "Edit"
}
else {
tableView.setEditing(true, animated: true)
customEditButton.title? = "Done"
}
}
這不是我試過的唯一的東西。我也曾嘗試
customEditButton = UIBarButtonItem.init(title: "Done", ...)
但也失敗了。
有誰知道爲什麼會發生這種情況或有解決方案的問題?
我不確定您可以在初始化欄按鈕後更改標題。您是否嘗試過使用標題和相應的操作以編程方式創建editBarButtonItem和doneBarButtonItem。然後在代碼中切換它們,即在工具欄中添加和刪除另一個。 –
@AlanPerez不,我還沒有嘗試過。我會試一試,看看它是否有效。謝謝。 – Logan