2009-03-09 9 views
7

Je peux animer l'ajout d'un UIView à mon application, il a l'air très joli alors merci apple.Supprimer UIVIew de SuperView avec Animation

Cependant, comment animer la suppression de cette vue de la super vue?

J'utilise:

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

pour animer la "dans" la transition ... comment voulez-vous animez la transition "out" ????

Répondre

24

Animez votre vue afin qu'elle se déplace hors de l'écran/diminue/se dilate/se fane, puis effectue la suppression proprement dite lorsque l'animation se termine. Vous pouvez le faire en modifiant les propriétés de la vue (position/taille/décalage) entre un bloc beginAnimations/commitAnimations. UIKit animera alors ces propriétés au cours du temps spécifié.

E.g quelque chose comme;

[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]; 

Dans la notification de fin d'animation, vous pouvez supprimer la vue.

+0

merci! Je suppose que c'est ma question: comment j'anime la vue montre qu'il se déplace hors écran? –

+2

Ahh, répondre à la mise à jour pour clarifier .. Pas besoin de downvote tho! –

+0

Ahhhh ... merci, je l'apprécie vraiment. si bizarre la transition hors écran n'est pas cuite dedans. apprécie l'aide! –

Questions connexes