Swift: изменение кнопок панели инструментов без анимации - PullRequest
0 голосов
/ 13 марта 2020

У меня есть UIToolbar, для которого я установил 4 кнопки в раскадровке. Есть режим A, который показывает кнопки отмены и применения, и режим B, который показывает кнопки удаления и обмена. Я использовал неслабые розетки, чтобы сохранить ссылку на скрытые кнопки, и я использую следующий код для переключения режимов. Тем не менее, я вижу странную анимацию при первом переключении в режим B (кнопки летят сбоку). Каждый следующий переключатель работает нормально. Как я могу предотвратить это?

@IBOutlet var deleteBtn: UIBarButtonItem!
@IBOutlet var cancelBtn: UIBarButtonItem!
@IBOutlet var toolbarSpacer: UIBarButtonItem!
@IBOutlet var applyBtn: UIBarButtonItem!
@IBOutlet var shareBtn: UIBarButtonItem!

func switchToolbarMode(mode: String) {
    // Normal mode: show the delete (left) and share (right) button
    if mode == "normal" {
        toolbar.setItems([deleteBtn, toolbarSpacer, shareBtn], animated: false)
    }

    // Edit mode: show the cancel (left) and apply (right) button
    else if mode == "edit" {
        toolbar.setItems([cancelBtn, toolbarSpacer, applyBtn], animated: false)
    }
}
...