UIBarButtonItem bad Редактировать / Готово анимация
Я реализовал редактор редактирования для моего настраиваемого контроллера tableview без использования кнопки редактирования по умолчанию. Я поместил элемент UIBarButton в свою раскадровку и связал его с IBOutlet в своем пользовательском классе. Я реализовал все эти простые механизмы для изменения названия кнопки:
class DetailTableViewController: UITableViewController {
var selectedMedicine: NSManagedObject?
var edit: Bool = false
@IBOutlet var editButton: UIBarButtonItem
@IBOutlet var nameTextField: UITextField
@IBOutlet var noteTextView: UITextView
@IBAction func enableEditing(sender: AnyObject) {
if !edit
{
println("editing")
self.edit = true
self.navigationItem.rightBarButtonItem.title = "Done"
}
else
{
self.edit = false
self.navigationItem.rightBarButtonItem.title = "Edit"
}
}
Название изменится, но при переходе от Edit к Done есть что-то странное, потому что это немного вяло. Я нашел другого с той же проблемой, но никто не ответил ему.
Вы можете посмотреть это видео для undertsand плохая анимация, я имею в виду видео
1 ответ
Вместо того, чтобы вручную устанавливать заголовок кнопки панели и состояние отслеживания, вы можете использовать встроенные свойства UIViewController.editButtonItem и UIViewController.editing:
func viewWillAppear(animated:Bool) {
self.navigationItem.rightBarButtonItem = self.editButtonItem()
}
@IBAction func enableEditing(sender: AnyObject) {
self.editing = !self.editing
}