En tutorial vamos a ver como usar UIKit Dynamics
UIKit Dynamics son un conjunto de clases que nos permiten añadir efectos físicos a los objetos de nuestras aplicaciones.
Por ejemplo podemos aplicar la fuerza de la gravedad sobre una vista, un botón o una etiqueta.
También podemos aplicar efectos de colisiones, y efecto imán con oscilamento con otros objetos.
Se trata de una tecnología que va a dotar a nuestras aplicaciones de un dinamismo impresionante, y lo mejor de todo: esto es muy fácil de implementar.
Vamos a ver como usar UIKit Dynamics así que coge Xcode que empezamos.
UIDynamicAnimator
Lo primero que tenemos que hacer es crear una instancia del objeto UIDynamicAnimator, este va a ser el actor principal, el que va a llevar todo «el cotarro».
La metodología que nos va a permitir como usar UIKit Dynamics es la siguiente:
- Crear el objeto UIDynamicAnimator
- Crear los diferentes efectos físicos que queramos
- Añadir el efecto en cuestión para que sea gestionado por el objeto de la clase UIDynamicAnimator
- «Jugar» si es el caso, con las diferentes propiedades del efecto
UI lo que sea Behavior
Pues sí, así es como vas a identificar a cada efecto físico, las clases empiezan con UI, después se indica la característica y por último se añade Behavior.
Así, tenemos los siguientes objetos que simulan diferentes comportamientos físicos:
- UIGravityBehavior: El objeto o los objetos se ven afectados por la fuerza de la gravedad.
- UICollisionBehavior: Otorgarás al objeto o los objetos la capacidad de colisionar con otros objetos y vistas.
- UIDynamicItemBehavior: El objeto o los objetos se ven afectados por rotación y velocidad.
- UIAttachmentBehavior: Crearás una unión entre dos objetos, por lo que los movimientos de uno afectarán al otro y viceversa.
- UIPushBehavior: Con este efecto el objeto o los objetos pueden recibir golpes, el golpe realizará un desplazamiento sobre el objeto u objetos.
- UISnapBehavior: Podrás definir un punto para que el objeto o los objetos se desplacen hasta el mismo.
Cómo ves, tenemos varios efecto, además cada una de las clases de estos efectos tienen sus propias propiedades y métodos, por lo que es realmente increíble la cantidad de efectos y juego que dan estas clases.
Ejemplo práctico
Vamos a hacer un ejemplo práctico, como la tónica es la misma para usar el resto, te ánimo a que una vez aprendido como usar estos elementos, investigues y hagas tus propias pruebas para aplicar espectaculares efectos en tus aplicaciones.
Abre Xcode y crea un nuevo proyecto.
A continuación añade una etiqueta a tu vista y conecta la misma creando una conexión Outlet, si esto te suena a chino estás muy verde para aprender esto, así que empieza por hacer este curso gratis.
La conexión de la etiqueta con nuestro código generará una propiedad de la clase UILabel:
@IBOutlet weak var label: UILabel!
Ahora viene lo bueno, declara al animador, el objeto de la clase UIDynamicAnimator:
var animator: UIDynamicAnimator? = UIDynamicAnimator()
Por último, en el método viewDidLoad() crea el efecto en cuestión, en este ejemplo crearemos el efecto de la gravedad, y después añade este efecto a tu objeto, para terminar dile al animador que quieres que gestione este efecto.
let efectoGravedad = UIGravityBehavior(items: [label]) animator?.addBehavior(efectoGravedad)
Toda la potencia y sencillez de Apple
Parece mentira que con unas pocas líneas de código se puedan crear efectos tan espectaculares con nuestros objetos.
Si esto te parece complicado o no has entendido algo, puedes inscribirte en mi curso gratuito para empezar a crear Apps para los dispositivos de Apple, ¡Que es GRATIS! busca los avisos por esta Web.
Pues esto es todo, te ánimo a que sigas descubriendo estas clases, y si tienes algo que decirme, déjame un comentario 😉