Marcus Zarra hat eine große Lösung dieses Problem auf der SDK-Mailingliste:
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];
Es gibt Übergänge für Spiegeln und Seiten Curling. Wenn Sie auf Fading festgelegt sind, können versuchen, die neue Ansicht Alpha Einstellung:
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];
Aber was wollen Sie wahrscheinlich eine Überblendung ist, oder zumindest ein Überblendungs. Wenn der UINavigationController zu einer neuen Ansicht wechselt, wird die alte entfernt. Für diesen Effekt ist es wahrscheinlich besser, wenn Sie Ihrem vorhandenen UIViewController eine neue Ansicht hinzufügen und deren Alpha-Wert im Laufe der Zeit ausblenden.
Hinweis: Wenn Sie nicht in Ihrer App sind, wird Delegate [Eigenes Fenster] nicht funktionieren. Verwenden Sie self.view.window, dank des Posts von User412500, um dies zu verdeutlichen.
Dies ist alt! Siehe Simo Salminen's Antwort unten! MrDatabase sollten Sie dies wechseln –