A la hora de hacer una aplicación es imprescindible poder acceder a diferentes vistas. Una manera es integrar Navigation Controller, pero si sólo quieres acceder a unas pocas, la mejor forma son las vistas modales. Además disponen de varios tipos de transiciones, concretamente cuatro.
Una vez creadas las dos vistas (donde está el botón y a la que quieres ir), hay que introducir este código en la primera:
-(IBAction)viewController:(id)sender{ Vista2 *goView2 = [[Vista2 alloc] initWithNibName:nil bundle:nil]; goView2.modalTransitionStyle = UIModalTransitionStylePartialCurl; [self presentModalViewController:goView2 animated:YES]; }
Una vez introducido el código, únicamente hay que cambiar Vista2 por el nombre de la vista a la que quieras ir al pulsar el botón. Para luego volver a la vista anterior, hay que poner este código:
-(IBAction)volver:(id)sender{ [self dismissModalViewControllerAnimated:YES]; }
Para cambiar a los distintos tipos de transiciones, solamente hay que cambiar estos códigos por el de la línea 4.
goView2.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
goView2.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
goView2.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
Cada uno es una transición diferente, y obviamente, sólo puede ser usada una por vista. En caso contrario dará error.
mrmangado
Sep 09, 2011 @ 22:16:09
Me da error de compilación. Sabes que podría ser?
Alvaro Franco
Sep 09, 2011 @ 22:28:55
¿Qué error exactamente? O bien mándame una captura del error por Mail 😉
mrmangado
Sep 10, 2011 @ 09:03:07
No creo que haga falta. He tocado algunas cosas y ya no hay error de compilación, pero si uno de ejecución.
Y dice que en «[self presentModalViewController:goView2 animated:YES];» hay un error que es » ‘…AppDelegate’ may not respond ‘-presentModalViewController:animated:’ «
Alvaro Franco
Sep 10, 2011 @ 10:58:34
Si es un warning (amarillo) ignóralo. Imagino que la aplicación será una Tab Bar aplication o una View-based aplication. Asegúrate de haber puesto bien el nombre de la vista a la que quieres ir, además debes importarla al principio de archivo de cabecera. Prueba a cambiar el pointer del código.
mrmangado
Sep 10, 2011 @ 11:00:20
Si es un warning, pero el tipo de la app es window-dased application.
Y cuando doy al botón para el cambio de vista no funciona y se cierra la app derrepente.
Alvaro Franco
Sep 10, 2011 @ 11:03:49
Mándame el proyecto por mail y le echo un vistazo. De todas formas, en las Window-based application siempre se recomienda usar Navigation Controller para acceder a las vistas.