Nel mio caso, volevo passare da Modifica | Fine. Tuttavia, non ho potuto utilizzare il leftBarButtonItem perché avevo già un altro UIBarButtonItem
.
Quello che ho fatto è il seguente:
1- Creare @IBOutlet weak var edit: UIBarButtonItem!
2- Poi una variabile per contenere lo stato: var isEditingMode = false
3- Ora, nel viewDidLoad
:
override func viewDidLoad() {
…
self.edit.action = #selector(self.toogleEditor(_:))
self.edit.title = "Edit"
self.setEditing(isEditingMode, animated: true)
…
}
Inizializzo il selettore edit.action sulla mia funzione personalizzata toogleEditor
. Voglio poter cambiare il titolo ogni volta che si verifica un'azione.
4- Creare un IBAction:
@IBAction func toogleEditor(sender: AnyObject) {
if isEditingMode
{
isEditingMode = false
self.edit.title = "Edit"
}
else
{
isEditingMode = true
self.edit.title = "Done"
}
self.setEditing(isEditingMode, animated: true)
}
Questa funzione viene attivata ogni volta che l'utente clicca il UIBarItemButton
. L'unica cosa da fare è utilizzare setEditing(…)
per modificare il comportamento di UITableViewController
.
fonte
2016-05-04 00:42:26
Funziona perfettamente - l'ho usato dove ho bisogno di passare tra le celle in movimento e riconoscere la selezione delle celle –