Empezamos creando una aplicación que nos generará un .xib con su
ventana inicial, le pondremos de nombre DosVentanas.
Sobre
la ventana creada en el proyecto situaremos un label y un botón y lo
configuramos como se muestra en la imagen.
Buscamos
en el Object library un objeto NSWindow. Aparecerán varios tipos de ventana, cogemos
uno de ellos. Le añadimos un label y un botón como se muestra en la siguiente
imagen:
En
este punto si ejecutamos el programa aparecerá primero la segunda ventana, y si
la cerramos (ojo, el botón cerrar todavía no funciona), entonces aparecerá la
ventana principal. Para corregir esto tenemos que usar dos propiedades de las
ventanas: (Pulsar sobre la barra de título de la ventana y mostrar el
Attributes Inspector)
·
Release when Closed, libera el espacio ocupado
por la ventana al cerrarla, ya no se podrá usar mas. Hay que desmarcar esta
opción si vamos a usar más veces la ventana. En nuestro ejemplo hay que quitarlo
en la segunda ventana, la principal ya lo tendrá quitado por defecto.
·
Visible at Launch, indica si es visible o no
cuando se lanzen las ventanas. En nuestro ejemplo dejaremos solo esta opción
activada para la ventana principal, es decir la que queremos que se vea al
inicio.
Si ejecutamos ahora el
projecto ya se mostrará primero la pantalla inicial, pero al no funcionar los
botones no podremos hacer que se muestre la segunda pantalla. Para ello lo
primero que vamos a hacer será crear un Outlet de la ventana segunda. Para ello
seleccionamos la ventana segunda (click sobre la barra de título), y con el
CTRL pulsado arrastramos hacia el AppDelegate.h, y creamos un Outlet que se
llame por ejmplo WSegunda. De esta manera ya podemos referenciar la segunda
ventana desde cualquier parte del código.
De la misma manera crearemos dos Action, una
para el botón Abrir Segunda, y otra para el botón Cerrar ventana.
Completamos el código para
cada botón en el AppDelegate.m, que quedaría de la siguiente manera
Y listo, si probamos a
ejecutar podremos cambiar entre una ventana y otra usando los botones.
No hay comentarios:
Publicar un comentario