У меня были аналогичные проблемы в прошлом с UIAlertController
в том смысле, что всегда существует отставание в потоке пользовательского интерфейса после отклонения UIAlertController
.
Моя проблема прямо сейчас в том, что я хочу выполнить segue, если пользователь нажимает «ОК» UIAlertAction
, и ничего не происходит, если нажата кнопка «Отменить» UIAlertAction
.
Это мой код:Выполнение segue после отклонения UIAlertController
// create the uialertcontroller to display
let alert = UIAlertController(title: "Do you need help?",
message: "Would you like to look for a consultant?",
preferredStyle: .alert)
// add buttons
let okay = UIAlertAction(title: "Yes, please.", style: .default, handler: {_ in
self.performSegue(withIdentifier: "segue", sender: nil)
})
let no = UIAlertAction(title: "No, I'm okay.", style: .cancel, handler: nil)
alert.addAction(okay)
alert.addAction(no)
self.present(alert, animated: true, completion: nil)
Что сейчас происходит, когда я нажимаю «Хорошо» переход выполняет, но я могу видеть только последние моменты перехода (т.е. анимации начинается в то время как UIAlertController
является увольнение).
Как мне начать старт после того, как UIAlertController
уволен?
Примечание. Я предпочитаю не разрешать это в хакерском методе, например, выполнять сеанс после фиксированной задержки, если есть другой способ.
Спасибо!
@ Matt так что на самом деле не способ делать это, если я оживить после 'n' секунд? Также - нет, где я сказал, запрещаю – uti0mnia