1. “Una app más animada”
Omar Megdadi Núñez
@nsstudent
jueves, 6 de junio de 13
2. ¿De qué vamos a charlar?
¿Por qué es interesante animar tu app?
¿Cómo se anima una vista?.
¿¿Y un Layer??.
¿Preguntas? vuestras y mías XD.
jueves, 6 de junio de 13
3. ¿ Por qué es interesante animar tu app?
Llaman mucho la atención.
Podemos educar al usuario en las acciones de
nuestra app.
Remarcar un punto de interés.
Crear nuevas experiencias de usuario.
Es divertido.
jueves, 6 de junio de 13
4. Animaciones de Vistas
Crea una interpolación en las propiedades
animables
La vista se encarga de “pintar” la animación.
Dos formas
Bloques.
Begin, Commit. (No recomendado ≥ iOS4)
jueves, 6 de junio de 13
10. Core Animation
Apple presenta a los desarrolladores
CoreAnimation en el 2007.
Es una capa de abstracción que nos evita tener que
bajar a OpenGL para hacer animaciones mas
complejas.
No hace todo lo que se puede hacer con OpenGL
jueves, 6 de junio de 13
12. CATransaction
CATransaction es el mecanismo Core Animation
para el procesamiento de operaciones en el árbol
de layers.
Al Cambiar una propiedad de CALayer se produce
aun animación implícita.
Una CATransaction es generada en cada animación
implícita y la podemos modificar en el momento.
jueves, 6 de junio de 13
13. CABasicAnimation
Permite trabajar con la interpolación entre dos
puntos de la misma manera que las animaciones
anteriores, pero esta vez en el CALayer.
CABasicAnimation* fadeAnim = [CABasicAnimation animationWithKeyPath:@"cornerRadius"];
fadeAnim.fromValue = [NSNumber numberWithFloat:0.0];
fadeAnim.toValue = [NSNumber numberWithFloat:30.0];
fadeAnim.duration = 1.0;
[self.exampleView.layer addAnimation:fadeAnim forKey:@"cornerRadius"];
// Change the actual data value in the layer to the final value.
self.exampleView.layer.cornerRadius = 30.0;
jueves, 6 de junio de 13
15. CATransform3D
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
En Core Animation podemos jugar con las 3D
CATransform3D es una matriz 4x4 que representa
matemáticamente las transformaciones afines en
un espacio de tres dimensiones
Podemos trasladar,rotar,escalar e incluso jugar con
la perspectiva.
jueves, 6 de junio de 13
20. CAAnimationGroup
Esta Clase nos permite anidar varias animaciones
para ejecutarlas a la par en un mismo CALayer
CAAnimationGroup* group = [CAAnimationGroup animation];
group.animations = [NSArray arrayWithObjects:Anim1,Anim2,Anim3, nil];
group.duration = 5.0;
[self.exampleView.layer addAnimation:group forKey:@"allChanges"];
jueves, 6 de junio de 13
22. Enlaces recomendados
UIView Reference
Core Animation Reference
Charla de Nacho Soto de Core Animation
Repositorio FlatUIKit
Repositorio csscagradientlayer
Repositorio de la Demo
jueves, 6 de junio de 13