2013-02-11 2 views
1

Je travaille actuellement sur un guide de programmation pour débutant pour ios6. Tout s'est bien passé jusqu'à maintenant quand j'ai essayé d'animer la commutation entre deux vues. Le but final de l'exercice était de donner l'impression que chaque vue était sur le dos de l'autre (comme les côtés d'une pièce de monnaie/d'un morceau de papier).Animation de la transition de la commutation entre les vues

Cependant, lorsque j'utilise le code donné dans le livre, une seule des animations s'active mais le livre dit que le code devrait fonctionner pour les deux.

J'ai été sur mon code plusieurs fois pour m'assurer que je l'ai fait correctement et je n'ai pas pu distinguer une différence entre le code que j'ai et le code qui est dans le livre. Je sais que c'est quelque chose de simple que je fais (ou plus probablement ne pas faire) mais je n'ai tout simplement pas l'expérience pour le trouver.

Toute aide serait grandement appréciée.

code:

- (IBAction)switchViews:(id)sender 
{ 
[UIView beginAnimations:@"View Flip" context:nil]; 
[UIView setAnimationDuration:1.25]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 

if (self.yellowViewController.view.superview == nil) { 
    if (self.yellowViewController == nil) { 
     self.yellowViewController = [[BIDYellowViewController alloc] initWithNibName:@"YellowView" bundle:nil]; 
    } 

    // This one doesn't work 
    [UIView setAnimationTransition:UIViewAnimationOptionTransitionFlipFromRight forView:self.view cache:YES]; 

    [self.blueViewController.view removeFromSuperview]; 
    [self.view insertSubview:self.yellowViewController.view atIndex:0]; 
} 
else 
{ 
    if (self.blueViewController == nil) { 
     self.blueViewController = [[BIDBlueViewController alloc] initWithNibName:@"BlueView" bundle:nil]; 
    } 

    // This one works 
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES]; 

    [self.yellowViewController.view removeFromSuperview]; 
    [self.view insertSubview:self.blueViewController.view atIndex:0]; 
} 
[UIView commitAnimations]; 
} 

Répondre

2

Son parce que vous utilisez UIViewAnimationOptionTransitionFlipFromRight au lieu de UIViewAnimationTransitionFlipFromRight

+0

Je me sens comme un idiot, essaie de le comprendre pendant une heure avant que j'ai posté. Je vous remercie – Ian

Questions connexes