2009-03-09 13 views
7

Posso animare l'aggiunta di un UIView alla mia app, sembra molto carina quindi grazie mela.Rimuovi UIVIew da SuperView con animazione

Tuttavia, come si anima la rimozione di questa vista dalla vista eccellente?

sto usando:

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

per animare la "in" transizione ... come si fa a animare la transizione "out" ????

risposta

24

Animate la vista in modo che si muova dallo schermo/si restringe/si espande/si dissolva, quindi eseguire la rimozione effettiva al termine dell'animazione.

È possibile eseguire questa operazione modificando le proprietà della vista (posizione/dimensione/offset) tra un blocco beginAnimations/commitAnimations. UIKit animerà quindi queste proprietà nel tempo specificato.

E.g qualcosa come;

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

Nella notifica di fine animazione è quindi possibile rimuovere la vista.

+0

grazie! Suppongo che sia la mia domanda: come animare la vista mostra che si muove fuori schermo? –

+2

Ah, rispondi all'aggiornamento per chiarire .. Non c'è bisogno di downvote tho! –

+0

Ahhhh ... grazie amico, lo apprezzo davvero. così strana la transizione fuori schermo non viene elaborata. apprezzare l'aiuto! –

Problemi correlati