2011-03-11 7 views
5

Tengo una página de inicio de sesión al inicio de mi aplicación que no quiero en la pila de vistas. ¿Hay alguna forma de cargar mi primera vista posterior a la sesión después del inicio de sesión sin usar UINavigatorController?¿Hay alguna manera de cambiar las Vistas en iOS sin usar UINavigationController?

¿Hay una mejor manera de hacer esto? ¿Debería usar 2 UINavigationControllers? ¿Hay alguna manera de cambiar el RootViewController por un UINavigationController?

Respuesta

8

Sí, puede cambiar el controlador raíz de la ventana. Establezca la propiedad de la ventana rootViewController en el nuevo controlador y listo. Sin embargo, no olvides que el primer controlador (uno que estás eliminando) no recibirá los mensajes viewWillDisappear: y viewDidDisappear:. Envíelos usted mismo antes de cambiar los controladores si está interesado en ellos.

+0

siento, sé que esto es una cuestión Novato total, pero ¿cómo puedo obtener acceso a objeto de la ventana de mi aplicación desde dentro de cualquier código de Vista Controlador dado? –

+0

Bueno, no es una buena idea manipular la ventana de los controladores (es mejor mover esa lógica a algún objeto central, como delegar aplicaciones), pero si realmente lo necesita, puede encontrar la ventana subiendo en la jerarquía de vistas hasta llegar a instancia de 'UIWindow' o (modo preferido) se puede obtener ventana clave con' [[UIApplication sharedApplication] keyWindow] ' – hoha

+0

me trataron ' MyViewController.view.window.rootViewController = MyViewController; ' pero no parecía tiene algún efecto. –

Cuestiones relacionadas