Navegación entre vistas

Share if you like...Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn4

En este tutorial vamos a ver como realizar la navegación entre vistas, para este ejemplo vamos a crear una segunda vista, navegar hacia ella y pasarle información procedente de la primera vista.

Cuando tengamos nuestro proyecto creado, nos dirigimos a nuestro Storyboard y arrastramos un nuevo “View Controller“.Recordad que cada vista tiene que tener una clase que la gestione, por tanto, vayamos a crear la clase.

Pulsamos botón derecho sobre la carpeta de nuestro proyecto y seleccionamos “New File

New File
New File

Y seleccionamos en el apartado “iOS” dentro de la categoría  “Source” la opción “Cocoa Touch Class“.

Captura de pantalla 2015-02-07 a las 19.39.40

Pulsamos “Next” y nos pedirá un nombre para ese archivo, nosotros lo llamaremos “ViewController2“. Esta clase deberá  heredar de un “UIViewController

Captura de pantalla 2015-02-07 a las 19.39.54

Seleccionamos la vista 2 dentro del Storyboard y en el apartado “Class” escribiremos el nombre de nuestra clase.

ViewController2
ViewController2

Teniendo ya nuestra vista 2 configurada, vamos ahora a crear las interfaces gráficas y a referencias sus componentes. En la vista 1 pediremos que introduzca su nombre y en la vista 2, se mostrará el nombre introducido.

Vista 1
vista 1

Vista 2
vista 2

Para poder navegar entre esas dos vistas, nos hace falta un elemento llamada “Navigation Controller“.Dicho esto seleccionamos la vista 1 y seleccionamos Editor->Embed In->Navigation Controller.

Captura de pantalla 2015-02-07 a las 18.41.00

Lo que vamos hacer ahora es que al pulsar nuestro botón, nos muestre la vista 2. Seleccionamos nuestro botón Saludar y manteniendo la tecla “Control” pulsada, lo arrastramos a la vista 2. Se nos abrirá un dialogo preguntándonos que tipo de navegación queremos implantar.Nosotros elegiremos “Show“.

Diálogo de conexión
Diálogo de conexión

Ya solo nos quedaría pasar la información de la vista 1 a la vista 2. Primeramente vamos ha crear una variable String llamada “nombre” en la que guardaremos el texto que se escriba en la vista 1.

var nombre:String = "";

Y ahora pasamos a sobreescribir  el método “prepareForSegue” en nuestra clase “ViewController.swift“. Este método se lanza antes de pasar de la vista en la que nos encontramos a otra y es aquí donde vamos ha indicar que guarde en nuestra variable “nombre” de la vista 2 el nombre que hemos introducido en la vista 1.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
   var vista:ViewController2 = segue.destinationViewController as ViewController2
   vista.nombre = self.tfNombre.text;
}

Ahora indicamos en el método “viewDidLoad” que cuando termine de cargar la vista 2, recoja el valor de la variable “nombre” y lo muestre en nuestra etiqueta.

override func viewDidLoad() {
   super.viewDidLoad()
   self.lblNombre.text = "Hola " + self.nombre;
}

Descargas

Puedes acceder a nuestro repositorio para bajar el proyecto aquí.

Share if you like...Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn4
The following two tabs change content below.

Iván Díaz Molina

Desarrollador Android e iOS, colaborador de Proyecto Simio

Latest posts by Iván Díaz Molina (see all)

3 thoughts on “Navegación entre vistas

Deja un comentario