Aprende Swift 3

Implementar botones y funciones

¡Prueba gratis durante 10 días

nuestros 1201 cursos !

Prueba gratis Mostrar modalidades de suscripción
Vamos a conectar botones a funciones hechas en Swift para poder responder frente a los eventos de nuestros usuarios. Primero agregaremos objetos en nuestro storyboard y conectaremos el tap de nuestro botón a una acción en el ViewController.

Transcripción

Muy bien, pues empezaremos por implementar las funciones y los botones que vamos a ocupar en nuestra aplicación de ejemplo. Lo primero que vamos a hacer, es que dentro de Xcode, que en este caso yo estoy utilizando la versión 8.2 vamos a crear un nuevo proyecto de Xcode. Este proyecto de Xcode voy a poderlo hacer en diferentes plataformas, aquí arriba voy a poder ver cada una de las plantillas que yo tengo disponibles por sistema operativo. Me voy a ir a la sección de iOS y voy utilizar "Single View Application", voy a darle clic en "next" y el nombre de este proyecto lo voy a llamar "SwiftProject". Voy a darle en "next", lo voy a guardar en el escritorio, no necesito crear ahorita un repositorio de Git... ...y listo, ya tengo aquí mi proyecto de iOS. Ahora, ya que tengo esto, lo más importante es que yo identifique como vamos a estructurar todos los archivos dentro de mi aplicación. Todo lo que se encuentra en el grupo de "Swiftproject" en realidad son archivos que son los que se compilan dentro de nuestro binario, puede ser que sean un "storyboard" o que sean archivos "info.plist", pero en realidad todos estos pasan como herramientas o recursos al compilador para poder generar una aplicación. Por otro lado, en "Products" vas a poder encontrar la aplicación que estamos nosotros generando. esta aplicación será la que se instalará dentro de las aplicaciones de iOS en el simulador. Para poder comenzar, vamos a abrir el "Main.storyboard", y aquí te vas a dar cuenta que ya tenemos un View Controller, este view Controller, voy a hacer más espacio dentro del Interface Builder, muy bien, este es el View Controller, ¿cómo se que este View Controller pertenece a ese archivo? Muy sencillo, voy a darle clic aquí y si te fijas me van a aparecer tres íconos, uno dice "View Controller", el otro dice "first responder" y el siguiente dice "Exit". Básicamente son objetos a los cuales estamos haciendo referencia dentro de este View Controller. Le voy a dar clic aquí en donde dice "View Controller" y voy a abrir el panel de utilidades y aquí en esta parte vamos a ver que dice "View Controller" este es un "Custom Class" y es un "View Controller". Si yo le doy clic aquí a la flecha, me va a llevar al archivo en el cual está haciendo referencia, quiere decir que este archivo de switft es el responsable de manejar el comportamiento de "View Controller" que teníamos en el Interface Builder. De regreso al Interface Builder vamos a poder nosotros arrojar elementos a nuestro canvas o a nuestro "view", en específico siempre y cuando tengamos nuestra librería de objetos a la mano. Esa librería de objetos la vamos a poder encontrar en el panel de utilidades en la parte inferior, puede ser que tu la tengas cerrada, que la tengas así, entonces solamente necesitas darle clic a alguno de los botones, y en caso de que no estés utilizando la librería de objetos, le puedes dar clic aquí, en este círculo, y vas a ver todos los View Controllers que tu puedes arrojar al interface viewer junto con las vistas y colecciones. ¿Qué es lo que vamos a hacer? Bueno pues, vamos a arrojar un botón, vamos a filtrar aquí abajo y vamos a escribir la palabra "Button", hay diferentes tipos de botones, pero el que necesitamos es este, el más sencillo de todos. Lo voy a arrastrar a mi View y a través de las guías voy a poderlo colocar en donde yo lo necesite. Ya que tengo ahí mi botón, voy a poder cambiarle los valores que tengan asignados, como por ejemplo el valor del texto. Si le doy doble clic, voy a poder editar el texto del botón... ...le voy a colocar "Tap me" y lo voy a alinear. Ahora, yo ya tengo este botón dentro de mi View Controller, ¿cómo lo sé? Porque en este panel estoy viendo una radiografía de los elementos y objetos que componen el View Controller, recuerda que el View Controller en realidad no es una vista, es una clase que nos va a ayudar a manejar el comportamiento de nuestra vista. Entonces el View Controller tiene una propiedad llamada view, y ese view, adentro, tiene un botón, ahora, para poder conectarlo a una función en Swift, lo que tenemos que hacer es abrir el panel en modo asistente, este panel que está aquí, en la parte superior derecha, abre un asistente, voy a cerrar este panel para hacerme más espacio y... ...voy a poner muy claro en donde está mi View Controller, le voy a dar clic aquí y de manera automática me va a llevar al View Controller deseado, si no lo tienes así, lo vas a poder lograr si tu das clic aquí, en la barra de navegación y puede ser que tú lo tengas manual, apuntado en cualquier otro archivo o cualquier otro de los elementos que tu puedes tener en modo asistente, pero lo más importante es que tu ahorita eres en automático. De esta manera está ligado a lo que tú hagas aquí se va a reflejar como cambio del lado derecho, entonces le damos clic en "View Controller", nos lleva al archivo "ViewController.swift" y lo que vamos a hacer es que vamos a arrojar una referencia, una acción, esta acción, yo la voy a poder generar a través de ligar los elementos. Para ligarlos, voy a presionar la tecla "control" y voy a arrastrar desde el botón... ...hasta mi archivo. Aquí voy a poder insertar un "Outlet", un "Action" o un "Outlet Collection". Básicamente, es una referencia del objeto, una función para algún evento del objeto o una colección de referencias al objeto. Ahorita, lo que vamos a hacer es solamente una acción, entonces, suelto el botón... ...y me va a salir este pequeño "pop-up". En este "pop-up" me va a decir, "ok, ¿qué quieres"? "¿Quieres un Outlet?, ¿Quieres un Action o quieres un Outlet Collection? Queremos un Action, ¿para qué? Para que pueda definir una función en Switft. Después vamos a escribir el nombre "ButtonDidTouchUpInside". Este es un nombre que yo utilizo por convención en mis proyectos, pero no necesariamente tiene que ser el tuyo, cualquiera funciona. El tipo que me van a enviar puede ser de tipo "ENI" o puede ser de tipo UIButton, ¿cuál es el que me sirve? El que yo esté ocupando. Puede ser uno muy general si yo voy a reutilizar esta acción o puede ser uno específicamente para botones. En este caso yo voy a ocupar uno específicamente para botones y después me va a preguntar, "¿cuál es el evento que va a disparar esta acción?" Bueno pues, el evento es "Touch Up Inside" O sea, toca adentro y liberas cuando estás adentro del botón. Y por último tenemos el argumento que es el "Sender". Podría ser que no envíes nada, que envíes el Sender o que envíes el Sender y el tipo de evento. Con el Sender es más que suficiente por el momento. Le voy a dar "connect" y me va a crear esta función, ahora si te fijas tenemos una anotación "@idaction", esta anotación es específicamente para el Interface Builder, así que no te preocupes, no tiene nada que ver con Swift, por otro lado, vas a tener el nombre de tu función y vas a recibir en un objeto el Sender que en este caso es el botón. Lo único que vamos a hacer aquí es imprimir el valor que tenemos en el texto en el label de nuestro botón. "Print", "Sender" y como ya sabe que es de tipo "Button" vamos a poder encontrar... ...el título "CurrentTitle". De esta manera vamos a poder imprimir el valor de la cadena que esté como etiqueta dentro de nuestro botón, ahora, como no vamos a estar ocupando un default value lo que vamos a hacer es que lo vamos a hacer a un wrap, CurrenTitle podría estar vacío para el momento donde se está presionando, así que lo más importante es que nosotros podamos asegurarle a nuestro sistema operativo que cuando busque el valor de esa propiedad, la desenvuelva y la pueda generar para nosotros. Muy bien, aquí está nuestra aplicación, le voy a dar "tap" en el botón, y de este lado voy a ver que ya se está imprimiendo el valor de mi botón, de esta manera vamos a poder estar conectando funciones de Swift con botones y acciones dentro de nuestro Interface Builder.

Aprende Swift 3

Descubre Swift 3, la versión más actual del lenguaje de Apple; conoce todas sus novedades y aprende el lenguaje de código abierto desde cero para desarrollar tus aplicaciones.

3:14 horas (31 Videos)
Actualmente no hay comentarios.
 

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.