L'animation de pushviewcontroller ressemble à presentModalViewController

Est-il possible de montrer pushViewController animation de pushViewController ressemble à presentModalViewController mais qui a la fonctionnalité d'arrière-plan de pushViewController ?

Essaye ça :

 UIViewController *yourViewController = [[UIViewController alloc]init]; [UIView beginAnimations: @"Showinfo"context: nil]; [UIView setAnimationCurve: UIViewAnimationCurveEaseInOut]; [UIView setAnimationDuration:0.75]; [self.navigationController pushViewController: yourViewController animated:NO]; [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO]; [UIView commitAnimations]; 

Si vous voulez une animation de fondu, cette approche fonctionne.

 CATransition* transition = [CATransition animation]; transition.duration = 0.3; transition.type = kCATransitionFade; transition.subtype = kCATransitionFromTop; [self.navigationController.view.layer addAnimation:transition forKey:kCATransition]; [self.navigationController pushViewController:gridController animated:NO]; 

Pour l'affichage de l'animation PushViewConttroler comme Présent ci-dessous le code fonctionne,

Pour Push

  ViewController *VC = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController"]; CATransition* transition = [CATransition animation]; transition.duration = 0.4f; transition.type = kCATransitionMoveIn; transition.subtype = kCATransitionFromTop; [self.navigationController.view.layer addAnimation:transition forKey:kCATransition]; [self.navigationController pushViewController:VC animated:NO]; 

Et pour POP

 CATransition* transition = [CATransition animation]; transition.duration = 0.4f; transition.type = kCATransitionReveal; transition.subtype = kCATransitionFromBottom; [self.navigationController.view.layer addAnimation:transition forKey:kCATransition]; [self.navigationController popViewControllerAnimated:NO]; 

Il y a cependant un problème, c'est que son écran s'allume en fond noir quand il monte / descend,
Travailler sur ça, dès que c'est fait postr un nouveau code ici.

Vous devriez envisager de faire quelque chose comme:

 ViewController *myVC = [[ViewController alloc] initWithFrame:OFF_SCREEN]; [navigationController pushViewController:myVC animated:NO]; 

où OFF_SCREEN est un CGRect sous l'écran, comme (0, 481, 320, 480). Utilisez ensuite un bloc d'animation pour ajuster le frame.origin de la vue du controller de vue à (0, 0). Vous voudrez probablement faire le bloc animé dans viewDidLoad ou viewDidAppear.