Configuración: Tengo un guión gráfico configurado, con dos controladores simples de vista A y B. Hay un botón en A, que pasa a B con una transición modal. B se presenta con una transición modal en la parte superior de A. Está bien.¿Cómo descartar un modal que se presentó en un UIStoryboard con una transición modal?
Pregunta: ¿hay alguna manera de hacer estallar B y volver a A con un poco de magia simple del guión gráfico?
Tenga en cuenta que si todo esto estuviera en un controlador de navegación, y utilicé un segue de inserción, sería implícitamente atendido por el controlador de navegación. Habría un botón "atrás". No hay nada comparable para los modales, necesito construir la interfaz de usuario, lo cual está bien, pero me pregunto si hay una mecánica de segue que pueda usar para señalar que regrese de B a A.
Ahora el método oldskool para construir volver de B a a sería:
- crear una propiedad delegado en B
- conjunto a para ser delegado de B cuando el segue transición modal reproduce (puedo enlazar en esta usando prepareForSegue: remitente: en una de código)
- cuando es hora de despedir, B señala a su delegado
- A implementa un método delegado que descarta B
Esto funciona, pero se siente como demasiado por encima y tonto.
¿Hay alguna mecánica UIStoryboard que me he perdido, que básicamente haría una "transición modal inversa"?
Genial, no sabía acerca de la presentación de ViewController (aparentemente una nueva cosa de iOS 5), eso ayuda. – Jaanus
Sí, si desea hacer esto en una transición personalizada para una fácil reutilización, puede hacer algo como - (nulo) realizar { UIViewController * src = (UIViewController *) self.sourceViewController; [src.presentingViewController dismissModalViewControllerAnimated: YES]; } – AppHandwerker
@SimonH ¡El mejor consejo con respecto a los segues! –