Avatar ·

Cómo detectar la pulsación del botón «Atrás» en UINavigationController y ejecutar tu propio código

¡Hola! Soy nuevo en el desarrollo de iOS con Swift y tengo un problema. En mi aplicación hay un UINavigationController con varias pantallas. Necesito ejecutar una acción específica (por ejemplo, guardar datos o mostrar una advertencia) cuando el usuario presiona el botón estándar «Atrás» en la barra de navegación. He intentado sobrescribir el método `viewWillDisappear`, pero se llama no solo al presionar «Atrás», sino también al navegar a otra pantalla (por ejemplo, al hacer push de un nuevo controlador). Esto no es adecuado. Aquí hay un ejemplo de mi código: ```swift class SecondViewController: UIViewController { override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) // Este código se ejecuta tanto al presionar «Atrás» como al navegar hacia adelante print("La pantalla desaparece") } } ``` He leído que se puede usar `UIBarButtonItem` y crear mi propio botón «Atrás», pero entonces se pierde el estilo y la animación estándar. ¿Cómo puedo interceptar correctamente solo la pulsación del botón «Atrás»?