Supposons que vous souhaitiez pousser view2 à partir de la droite pour remplacer view1.
// Set up view2
view2.frame = view1.frame;
view2.center = CGPointMake(view1.center.x + CGRectGetWidth(view1.frame), view1.center.y);
[view1.superview addSubview: view2];
// Animate the push
[UIView beginAnimations: nil context: NULL];
[UIView setAnimationDelegate: self];
[UIView setAnimationDidStopSelector: @selector(pushAnimationDidStop:finished:context:)];
view2.center = view1.center;
view1.center = CGPointMake(view1.center.x - CGRectGetWidth(view1.frame), view1.center.y);
[UIView commitAnimations];
Ensuite (en option) mettre en œuvre cette méthode pour supprimer View1 de la hiérarchie de la vue:
- (void) pushAnimationDidStop: (NSString *) animationID finished: (NSNumber *) finished context: (void *) context {
[view1 removeFromSuperview];
}
Dans cette méthode déléguée d'animation vous pouvez également libérer view1 et définir sa référence à zéro, selon le si vous devez le garder après la transition.
Merci pour votre réponse. Merci beaucoup ....... – Pugal
Je sais que c'est vieux mais ... Im essayant de suivre la logique. Im un peu confus quant à ce que cela fait. Quelqu'un peut-il l'expliquer? – marciokoko
@marciokoko Ce code place view2 à droite de view1, anime la diapositive des vues vers la gauche (de sorte que view2 remplace view1) et supprime view1 une fois l'animation terminée. Ils appellent cela une «transition poussée». – Costique