interface-builder ios6 uistoryboard uistoryboardsegue xcode4.5

interface builder - ¿Alguien sabe para qué se usa el nuevo ícono de Salir cuando se editan guiones gráficos usando Xcode 4.5?



interface-builder ios6 (3)

Además de respuesta aquí es cómo funciona con swift :

La función que agrega al controlador de destino se ve así:

@IBAction func backFromOtherController(segue: UIStoryboardSegue) { NSLog("I''m back from other controller!") }

Al hacer clic con el botón derecho en el icono Salir se obtiene una ventana vacía. No se puede presionar Ctrl y arrastrar una conexión a ningún elemento IB o a los archivos fuente correspondientes. Los doctores no dan amor No aparece en los archivos de punta, solo en los guiones gráficos. Mi suposición es que es un corolario de segues, pero no veo ningún método nuevo para respaldarlo. ¿Nadie?


Hay mucha información en el video de la WWDC "Sesión 407 - Adoptando guiones gráficos en su aplicación".

Supongamos que tiene dos controladores de vista vinculados por un segue. Implemente la siguiente acción de salida en el primer controlador de vista:

- (IBAction)done:(UIStoryboardSegue *)segue { NSLog(@"Popping back to this view controller!"); // reset UI elements etc here }

Luego, en la escena del Guion gráfico para el segundo controlador de vista, presione la tecla Ctrl y arrastre desde un elemento de la interfaz de usuario, como un botón, hasta el icono de salida en la parte inferior de este controlador de vista. Lo done: acción que agregó al código del primer controlador aparecerá como una opción. Ahora, al activar el botón Ctrl-arrastrado al ícono de salida, volverá al primer controlador de visualización y mantendrá su estado original (es decir, elementos de la IU, como la entrada de texto supuestamente intacta).


Me costó mucho seguir la respuesta aceptada, así que aquí hay más detalles.

Dada la foto de abajo en el controlador de vista C, puede "salir" de regreso a cualquier controlador de vista en la ruta de segue.

ViewController A puede escribir:

- (IBAction)done:(UIStoryboardSegue *)segue { // Optional place to read data from closing controller }

ViewController B puede escribir:

- (IBAction)back:(UIStoryboardSegue *)segue { // Optional place to read data from closing controller }

ViewController C controla el arrastre del botón "Atrás" a la opción de salida verde y selecciona Atrás: ViewController C controla el arrastre del botón "done" a la opción de salida verde y selecciona " done":

Nota: Aunque los métodos están en otros controladores de vista, aparecen para la salida de ViewController C. Controlar arrastrando y seleccionando un método define a qué ViewController desenrollar.