2009-06-29 10 views
7

Estoy buscando tutoriales para crear transiciones de vistas personalizadas.Primeros pasos para crear transiciones de vistas personalizadas

En particular, las transiciones que involucran elementos distintos a los UIViews que se ven afectados, como reproducir una animación sobre la transición mientras se está produciendo o modificar una captura de pantalla de la UIView que se está realizando la transición.

No me refiero a implementar el conjunto básico de transiciones (deslizamiento, fundido, etc.) para las que hay muchos ejemplos en el sitio de Apple. Estoy hablando de agregar video/sonido/animación adicional mientras lo envuelve todo en una transición reutilizable.

Estoy vagamente familiarizado con algunos de los kits de herramientas subyacentes (núcleo-animación y cuarzo), pero estoy buscando un tutorial de experiencia previa en el tema.

Respuesta

6

Acabo de armar una clase de transición para implementar su propia animación en OpenGL ES.

no dude en leer sobre ello here

0

Aquí hay una guía rápida para usar las transiciones UIView estándar. http://chris-software.com/index.php/dev-center/view-transitions/

Si desea desvanecerse en una vista, utilice algo como esto. Esto funciona con cualquier tipo de elemento con una propiedad alfa, como UIImageViews, etc. someView.alpha = 0; [viewController.view addSubview: someView];

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:.5]; 
[UIView setAnimationDelegate:self];  
someView.alpha = 1; 
[UIView commitAnimations]; 
+4

eso no es realmente lo que quiero decir por 'costumbre'. Eso es bastante básico. Estoy buscando algo donde la vista se pliegue en un avión de papel y haga ruidos de acercamiento cuando se sale volando de la pantalla, o una mano lo agarra, lo arruga y lo tira a un cesto de basura. Animación, sonido, video superpuesto ... – Sam

4

Las animaciones de CoreAnimation funcionan registrando las diferencias en un subconjunto muy específico de las propiedades de UIView. No responden a ninguna propiedad definida por el usuario, y simplemente no hacen transiciones más avanzadas de las que ya has visto en las demostraciones. Puede tomar una captura de pantalla de su vista actual, guardarla en la memoria como una textura, ocultar la vista anterior y mostrar simultáneamente una vista OpenGL. Luego, usando la textura de captura de pantalla y varias animaciones de malla, puede renderizar su transición personalizada (incluida la mezcla alfa alrededor de los bordes plegados/plegados), luego deseche la vista OpenGL para revelar completamente la vista de destino. Parece un proyecto divertido, y estarías en una rara compañía para lograrlo.

+0

Esto tiene mucho sentido. Gracias. Tristemente, probablemente no tenga la oportunidad de implementar esto, solo estaba investigando para ver cómo cumplir con los requisitos para un contrato que fracasó. Afortunadamente, esto será útil para alguien en el futuro. – Sam

Cuestiones relacionadas