Mostrando la animación de pushviewcontroller como presentModalViewController

¿Es posible mostrar la animación de pushViewController como presentModalViewController pero tiene la funcionalidad de fondo de pushViewController ?

Prueba esto :

 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 desea una animación de desvanecimiento, este enfoque funciona.

 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]; 

Para visualizar la animación de PushViewContributor, ya que el código Presente a continuación está funcionando,

Para empujar

  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]; 

Y para 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]; 

Sin embargo, hay un problema: su fondo negro claro cuando sube / baja,
Trabajando en eso, tan pronto como se haga publicar código nuevo aquí.

Deberías considerar hacer algo como:

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

donde OFF_SCREEN es un CGRect debajo de la pantalla, como (0, 481, 320, 480). Luego use un bloque de animación para ajustar el frame.origin de la viewcontroller view para que sea (0, 0). Probablemente quieras hacer el bloque animado en viewDidLoad o viewDidAppear.