2009-03-09 17 views
7

Puedo animar la adición de una UIView a mi aplicación, se ve muy bonita, así que gracias apple.Eliminar UIVIew de SuperView con Animación

Sin embargo, ¿cómo puedo animar la eliminación de esta vista desde la vista superior?

que estoy usando:

CATransition *animation = [CATransition animation]; 
[animation setDuration:1]; 
[animation setType:kCATransitionReveal]; 
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]]; 
[[myview layer] addAnimation:animation forKey:kCATransitionReveal]; 

para animar el "en" transición ... ¿cómo se anima la transición "hacia fuera" ????

Respuesta

24

Anima tu vista por lo que se mueve fuera de la pantalla/se encoge/se expande/se desvanece, luego realiza la eliminación real cuando termina la animación.

Puede hacerlo alterando las propiedades de la vista (posición/tamaño/desplazamiento) entre un bloque beginAnimations/commitAnimations. UIKit animará estas propiedades durante el tiempo especificado.

Por ejemplo, algo así como;

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.30f]; 
view.transform = 
    CGAffineTransformMakeTranslation(
    view.frame.origin.x, 
    480.0f + (view.frame.size.height/2) // move the whole view offscreen 
); 
background.alpha = 0; // also fade to transparent 
[UIView commitAnimations]; 

En la notificación final de la animación, puede quitar la vista.

+0

gracias! supongo que esa es mi pregunta: ¿cómo puedo animar la vista mostrar que se mueve fuera de la pantalla? –

+2

Ahh, responda la actualización para aclarar ... ¡No hay necesidad de menospreciarlo! –

+0

Ahhhh ... gracias a los hombres, realmente lo aprecio. tan extraño que la transición fuera de pantalla no está horneada. ¡agradezca la ayuda! –

Cuestiones relacionadas