На мой взгляд, на раскадровке созданы несколько кнопок UIB. Нажимая одну, я скрываю их все, и у меня появляется куча новых кнопок UIB, созданных программно, одна из которых - кнопка «назад».
Когда я нажимаю кнопку возврата (которая скрывает новые кнопки и показывает оригинальные), они больше не работают.
Из того, что я могу сказать, это не доходит до @IBAction вообще. Это не регистрация хита.
//Hide buttons originally
for button in menuButtonArray {
button.isHidden = true
button.isEnabled = false
}
//Reveal buttons when "back" button is hit
for button in menuButtonArray {
button.isHidden = false
button.isEnabled = true
}
Я пытался использовать .isUserInteractionEnabled безрезультатно. Я попытался удалить программно созданные кнопки (вместо того, чтобы просто скрыть их). Я попытался скрыть стек, содержащий кнопки, вместо самих кнопок.
Я подумал, что это должно просто скрывать и показывать кнопки, но как-то их ломает?
Еще одна странность, она не ломает все кнопки. Верхняя и нижняя кнопки в моем стеке работают, но не между ними.
UPDATE
Ниже показано, как я создаю и добавляю кнопки в menuButtonArray.
Я проверил, делаю ли я печать каждой кнопки до и после их включения и отключения, тег добавляется и удаляется, по-видимому, правильно. Кроме того, они прячутся и не прячутся без проблем. Спасибо за помощь !!
var menuButtonArray: [UIButton] = [UIButton]()
override func viewDidLoad() {
menuButtonArray += [button1, button2, button3, button4, button5, button6, button7]
}