iphone - bar - Controlador de vista modal presente encima de UINavigationController
root view controller navigation controller (2)
[self.navigationController presentModalViewController:ukc animated:NO];
Tengo mi aplicación debajo de un UINavigationController y, por lo tanto, debajo de UINavigationBar. Quiero presentar un Controlador de Vista Modal encima de esta UINavigationBar porque el controlador que escribí no tiene sentido si está debajo de él (es decir, quiero ocultar la barra de navegación cuando se muestra este controlador de vista).
Presentarlo con este código:
ukc = [[UnlockKeyboardViewController alloc] init];
[self presentModalViewController:ukc animated:NO];
Causa que el controlador de vista modal esté debajo de UINavigationBar. Ese UINavigationBar no debería aparecer cuando muestro esta vista modal. ¿Cómo puedo ir por ahí?
PD: esta es una aplicación de jailbreak, por lo que no hay Interface Builder.
Información adicional al trabajar con un problema relacionado:
La respuesta de Note173 funciona con animated:YES
también. El usuario verá que la vista de ukc
desliza hacia arriba sobre la pila de navegación.
Y si luego necesita descartar el ukc
y regresar a self
vista propia, haga esto:
[self.navigationController dismissModalViewControllerAnimated:NO];
[self.navigationController dismissModalViewControllerAnimated:YES];
La primera llamada rechaza el ukc
. La segunda llamada descarta el controlador de navegación. Lo que el usuario ve es la vista del ukc
deslizándose hacia abajo para revelar self
vista de uno mismo, con un vistazo de la pila de navegación detrás de él.
Entonces, lo que tienes aquí es una forma de cambiar directamente de la pila de navegación a otro controlador de vista regular, y luego de vuelta a un controlador de vista base, todo con animaciones que tienen un sentido secuencial.
(Si su objetivo era cambiar entre la pila de navegación y el ukc
, debería descartar ukc
con una sola llamada - self.navigationController dismissModalViewControllerAnimated:YES];
que deslizaría la vista de self.navigationController dismissModalViewControllerAnimated:YES];
hacia abajo para revelar la pila de navegación.)
Tenga en cuenta que estos métodos están en desuso en iOS 5. Supongo que presentViewController
y dismissViewControllerAnimated
haría lo mismo, pero no los he probado.