Comment utiliser animationWithDuration et transitionWithView complètement

J'essaie d'utiliser animationWithDuration et transitionWithView pour créer une grande animation. Je veux faire quelque chose comme ça:

  1. Déplacez la vue A avec animationWithDuration
  2. Une fois l'étape 1 terminée, déplacez la vue B avec animationWithDuration
  3. Une fois l'étape 2 terminée, affichez la vue C avec transitionWithView (avec OptionCurlDown)

Je regarde vraiment sur le net, et je ne sais pas comment le faire correctement. Mon problème est que l'étape 3 commence toujours en même time que l'étape A. Si je fais seulement l'étape 1 et l'étape 2, ceci est correct, je veux dire, l'étape 2 commence seulement quand l'étape 1 est faite. Mais je n'avais pas de chance avec l'étape 3!

J'ai également essayé d'imbriquer transitionWithView dans une animationWithDuration, mais le résultat est le même,

Je vous remercie

Mettre à jour

Ce qui suit est le code lui-même:

Fonction principale:

[fileMenuController hide:0.2 andDelay:0.1]; [drawingToolController show:0.2 andDelay:0.2]; [penSizeMenuController showSubViewWithDuration:0.4]; 

Fonction masquer fileMenuController:

  [UIView animateWithDuration:duration //begin animation delay:delay options:UIViewAnimationCurveEaseIn animations:^{ [self.view setFrame:CGRectOffset([self.view frame], 0, -self.view.frame.size.height)]; } completion:nil ]; 

Fonction showToolController:

 [UIView animateWithDuration:duration //begin animation delay:delay options:UIViewAnimationCurveEaseIn animations:^{ [self.view setFrame:CGRectOffset([self.view frame], 0, self.view.frame.size.height)]; } completion:nil ]; 

Fonction de show penSizeController:

 [UIView transitionWithView:self.view duration:duration options:UIViewAnimationOptionTransitionCurlDown animations:^{ [self.view addSubview:subView] ;} completion:nil]; 

self.view.alpha = 1;

Le show penSizeController démarre toujours en même time que le file FileMenuController.

Mettre à jour pour résoudre le problème

Suite à l'idée de user523234 , je l'ai fait:

Fonction principale

  [fileMenuController hide:0.2 andDelay:0.1]; [drawingToolController show:0.2 andDelay:0.2]; [self performSelector:@selector(delayedPenSizeMenuShow)withObject:nil afterDelay:0.4) 

MainFunction (nouvelleFonction)

  -(void) delayedPenSizeMenuShow{ [penSizeMenuController showSubViewWithDuration:0.4]; } 

De cette façon, cela fonctionne, penSizeMenuController est appelé après les 2 animations. Mais je me request si la nouvelle philosophie de base du bloc avec ios 4.0 est acceptable?

Mais bon, au less j'ai quelque chose ..