Marcus Zarra posté une excellente solution à ce sur le SDK liste de diffusion:
UIViewController *controller = [[[MyViewController alloc] init] autorelease];
UIViewAnimationTransition trans = UIViewAnimationTransitionCurlUp;
[UIView beginAnimations: nil context: nil];
[UIView setAnimationTransition: trans forView: [self window] cache: YES];
[navController presentModalViewController: controller animated: NO];
[UIView commitAnimations];
Il y a des transitions pour le retournement et le page-de curling. Si vous êtes fixé sur la décoloration, vous pouvez essayer le réglage de votre nouveau point de vue de l'alpha:
UIViewController *controller = [[[MyViewController alloc] init] autorelease];
controller.view.alpha = 0.0;
[navController presentModalViewController: controller animated: NO];
[UIView beginAnimations: nil context: nil];
controller.view.alpha = 1.0;
[UIView commitAnimations];
Cependant, ce que vous voulez probablement, c'est un fondu enchaîné, ou au moins un fondu de plus de. Lorsque le UINavigationController passe à un nouveau point de vue, il supprime l'ancien. Pour cet effet, vous êtes probablement mieux de simplement l'ajout d'un nouveau point de vue à votre UIViewController et à la décoloration son alpha dans le temps.
Remarque: Si vous n'êtes pas dans votre délégué d'application [fenêtre auto] ne fonctionne pas. Utilisation de l'auto.vue.de la fenêtre , grâce à user412500 post pour le signaler.