ios - Mostrando la animación de pushviewcontroller como presentModalViewController
iphone animation (4)
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.
¿Es posible mostrar la animación de pushViewController
como presentModalViewController
pero tiene la funcionalidad de fondo de pushViewController
?
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í.
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];