Aprende Swift 3

Animar los elementos

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Animar los elementos en Swift es muy sencillo y divertido con las librerías de Apple. En este video aprenderás a usar UIDynamics y las animaciones básicas de UIView utilizando stored properties y closures.

Transcripción

En este último video de nuestro pequeño proyecto, para poder utilizar todas las funcionalidades de Swift, lo único que nos hace falta es animar. Y para animar... Lo importante de este video es que aprendas que mucho de la interfaz que tenemos en bloques de Objective-C la podemos utilizar en los mismos closures que tenemos en Swift. Vamos a hacer algo muy sencillo que será animar el color de un botón, pero también vamos a ver cómo podemos utilizar Apps un poquito más avanzadas dentro de nuestros elementos y componentes visuales. Vamos a ver aquí. En el ViewController.swift, lo que vamos a hacer es que vamos a agregar primero la funcionalidad de animar nuestro botón. ¿Cómo lo vamos a hacer? Bueno, vamos a crear otra función. "animateButton". Abre y cierra. No necesito que regrese nada. Simplemente quiero que tenga un comportamiento. ¿Cuándo lo voy a hacer? Bueno pues voy a ejecutar esta función una vez que haya agregado el círculo. Ok, así que "animateButton". Una vez que se agrega el círculo, inmediatamente después voy a iniciar la animación. Ahora, ¿cómo funcionan las animaciones? Pues básicamente es muy simple. Tú tienes aquí un "UIView" y el "UIView" tiene un método de clase llamado "Animate". Tiene muchas variantes. Si te fijas, esos métodos no regresan nada y tienen múltiples parámetros con duración, animación, intervalo, cuál es el bloque cuando se acaba, qué es lo que quieres que haga cuando se acabe, no sé, tú puedes decidir mucho el comportamiento de tus animaciones. Voy a utilizar este que es uno de los más complejos y simplemente le vamos a decir ¿con qué duración? Bueno, en cinco segundos. ¿Qué animación quiero? Quiero que simplemente cambie el color de mi botón. ¿Cómo lo voy a saber? Bueno porque necesito la referencia a este botón. Se la puedo pasar a través del Sender, se la puedo pasar aquí al "animateButton" y aquí colocarla o puedo crear una propiedad, una referencia al ViewController y con eso puedo enviarla hasta mi función "animateButton". Voy a hacer la primera, que es la del Sender. Voy a generar aquí, "sender". Me va a decir que esto no lo recibe así que no hay problema. "sender:UIButton" Con esto ya lo tenemos resuelto. Ahora ya tenemos el Sender. Voy a poner "sender." y el cambio que quiero. "backgroundColor=UIColor.red". Listo, ya lo tenemos. Ahora también tenemos aquí un último parámetro que es "completion" y le voy a dar Enter para que me abra y cierre todo el bloque. ¿Qué quiere decir? Quiere decir que cuando ya esté completo ¿qué es lo que voy a hacer? Bueno tal vez quiero que agregue otro círculo. Entonces voy a poner "self.view.addSubview(circleView)". Listo. Entonces ya cuando termine la animación, va a agregar otro círculo. Aquí me va a decir que agregue "self" otra vez porque estamos haciendo referencia a Self dentro de un bloque que ya no le pertenece y esto es muy normal. Pero si te fijas, este es un closure muy normalito de Swift. Aquí también hay otro closure muy normalito de Swift. Si te fijas, estamos utilizando 2 bloques dentro de una llamada. Hay una versión un poco más amigable de esto en donde ya no tenemos el bloque del final. Quería mostrarte esta porque es un poco más compleja y tal vez te puede llamar la atención. Pero si tú no necesitas este bloque simplemente puedes utilizar "UIView.animate". Le paso 5, Enter. Y si te fijas esta versión es muchísimo más amigable. "sender.backgroundColor=UIColor.red" Esa es la versión más amigable. Pero no tenemos el call back del final. Vamos a dejar esto de lado. Voy a ejecutar mi proyecto. Le voy a dar clic en Círculo. Y ahí está la animación. Ahora, las siguientes veces no se ve la animación porque ya está en rojo. Necesitaríamos cambiar el color cada vez que está presionado o poner un color de forma aleatoria. Por último, quisiera enseñarte cómo poder hacer dinámico una animación a través de Dynamics. Dynamics, que es un pequeño framework que liberaron hace poco en iOS 7, 8, y que nos va a permitir agregar gravedad a nuestros elementos. Lo que vamos a necesitar primero es definir dos propiedades que tienen que estar vivas dentro del Controller. Una es Animator y la siguiente es Gravity. Una vez que esto ya está definido, después de agregar el círculo a nuestro stack de vistas, lo que necesitamos decir es "animator=UIDynamicAnimator". Le voy a pasar el "referenceView", que tiene que ser el contenedor, en este caso es simplemente "view". Le tengo que decir quién es el Gravity. El Gravity en realidad es un Behavior. "UIGravityBehavior". Le voy a decir a quién le va a aplicar esa gravedad. Se la va a aplicar a un conjunto de elementos, en realidad solamente vamos a aplicarlo a la View actual, que en este caso es el "circleView". Creo que no tengo referencia de esto. Vamos a hacer una referencia como si fuera una variable para poderla mandar a llamar dos veces. "let circleView=circleView". Vamos a llamarla solamente "circle". Voy a agregar este Circle y aquí también. Ok, entonces la misma instancia de Circle va a ser la que voy a agregar a subView y va a ser a la que le voy a aplicar la gravedad. Y por ultimo, al Animator le voy a agregar el Behavior. Ok. Ahora cuando ejecuto mi programa, me voy a poder dar cuenta que cada vez que estoy agregando uno de los círculos, van a tener la capacidad de caer. De esta manera, nosotros vamos a poder estar utilizando la gravedad y animaciones con todo lo que aprendimos del lenguaje de programación de Swift. Recuerda, cada una de las características que hemos aprendido del lenguaje se encuentran a lo largo de todas las bibliotecas y librerías. Aunque muchas estén escritas en Objective-C, muchos de los programas que ya están funcionando en Xcode están escritos completamente en Swift. ¿Como cuáles? Bueno, el primer ejemplo que tengo es nuestra documentación. Toda esta aplicación está escrita en Swift. Apple la liberó a partir de Xcode 7, si mal no lo recuerdo, y toda está hecha en Swift. Es básicamente toda la referencia a sus librerías y aplicaciones que ellos han liberado. Así que no desesperes. Tú vas a poder encontrar todas las referencias y cómo utilizar Swift en tus proyectos de una manera muy sencilla y rápida.

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.