¿Por qué cambiar el siguiente código de la entrada de Viejo a Nuevo soluciona el siguiente problema.por qué este diferente código "addSubView" causa diferencias en el comportamiento
Código:
// OLD Entry - Did not work
//[self.window addSubview:navigationController.view];
// NEW Entry - Fixed it
self.window.rootViewController = self.navigationController;
problema cuando uso Código antiguo:
estoy usando un UINavigationController y tienen un "MAINVIEW" UITableViewController y luego miras segundo nivel I empujar a la apilar, llamémoslo "UITViewViewController" detallado.
Navegación normalmente hacia atrás y hacia adelante de la principal a los detalles funciona bien
pero cuando se inicie automáticamente en el arranque en el segundo punto de vista (como ahorro estado) llego a la segunda vista bien, sin embargo los botones de la barra hacen NO aparezca en la parte inferior de la segunda vista en este caso. Cuando vuelvo a la página principal (a través de los arreglos estándar de UINavigationController), y luego selecciono la fila en UITableView, y vuelvo a la misma vista, los elementos de la barra de herramientas aparecen bien.
No se pudo rastrear esto, pero finalmente a través de la prueba y error Noté que este cambio en el código (ver arriba) en la aplicaciónDelegado (de todos los lugares) parece solucionar el problema.
¿Alguna idea?
EDIT: Para completar aquí es el método completo
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
RootViewController *rootViewController = (RootViewController *)[navigationController topViewController];
NSManagedObjectContext *context = [self managedObjectContext];
if (!context) {
abort(); // TODO: Do better job here than abort
}
rootViewController.managedObjectContext = context;
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;
}
EDIT 2: Oh, tengo un archivo SEMILLA y tienen la configuración del controlador/ventana de vista raíz de constructor de interfaces - Así que me pregunto si Estoy mezclando un enfoque NIB y programático aquí quizás, ¿qué podría causar problemas?
EDIT 3: También se observó que el siguiente código didFinishLaunchingWithOptions funcionó cuando agregué la línea "self.window.rootViewController = self.navigationController". Eso es sin esta línea (que es lo que hace el ejemplo de los libros coredatos). Tengo el problema.
RootViewController *rootViewController = (RootViewController *)[navigationController topViewController];
rootViewController.managedObjectContext = self.managedObjectContext;
self.window.rootViewController = self.navigationController; // WORKS WHEN I ADD THIS LINE IN FOR SOME REASON???
// Configure and show the window
[window addSubview:[navigationController view]];
[window makeKeyAndVisible];
return YES;
¿cómo estás navegando hacia el controlador de segunda vista en el relanzamiento? – nielsbot