Realizar segue después de que se descarte UIAlertController
He tenido problemas similares en el pasado conUIAlertController
en el sentido de que siempre hay un retraso en el hilo de la interfaz de usuario después de laUIAlertController
es despedido
Mi problema ahora es que quiero realizar una segue si el usuario hace clic en "Ok"UIAlertAction
y no pasa nada si "Cancelar"UIAlertAction
se presiona.
Este es mi código:
// 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)
Lo que está sucediendo actualmente es cuando toco "Ok", el segue se está ejecutando, pero solo puedo ver los últimos momentos de la transición (es decir, la animación comienza mientras elUIAlertController
está siendo despedido).
¿Cómo hago para que el segue comience una vez queUIAlertController
es despedido?
Nota: prefiero no resolver esto en un método hacky como realizar el segue después de un retraso fijo si hay otra forma.
¡Gracias!