ios - bar - root view controller navigation controller
UINavigationController sin barra de navegaciĆ³n? (5)
Swift 3 programáticamente
self.navigationController.isNavigationBarHidden = true
o
self.navigationController.navigationBar.isHidden = true
Nota: No vi la diferencia entre estos dos enfoques de prueba en iOS 10.
Tengo una aplicación universal, y en la versión iPad estoy usando UISplitViewController
para crear una interfaz similar a la aplicación de correo.
Estaba teniendo problemas para presionar nuevas vistas detalladas, así que decidí usar un UINavigationController
para poder insertar y UINavigationController
las vistas según sea necesario. Sin embargo, no quiero usar la vista de navegación o una barra de herramientas. Pero no importa lo que haga, no puedo ocultar la barra de navegación.
He intentado quitar la marca de "Muestra la barra de navegación" en IB, y también he intentado configurar:
[self.navigationController setNavigationBarHidden:YES];
en viewDidLoad
/ viewDidAppear
/ viewWillAppear
. También lo probé en cada una de las vistas que se impulsarán. Nada funciona.
¿Hay algo que me falta aquí? ¿Es posible tener un UINavigationController
sin una barra de herramientas o una barra de navegación?
Debería poder hacer lo siguiente:
self.navigationController.navigationBar.hidden = YES;
donde self.navigationController es (obviamente) una instancia de UINavigationController. Parece que funciona para mí, pero solo lo probé brevemente antes de publicarlo.
En Xcode 4.3.2:
- Seleccione el controlador de navegación en el guión gráfico
- Seleccione el Inspector de Atributos en el panel de Utilidades (derecha)
En la categoría Controlador de navegación, tiene dos casillas de verificación:
[] Muestra la barra de navegación
[] Muestra la barra de herramientas
Trabajó para mi...
Si no desea una barra de navegación y desea que el contenido se ajuste hasta donde normalmente estaría la barra de navegación, debe usar
self.navigationController.navigationBarHidden = YES;
Esto te da un resultado como este:
Mientras que self.navigationController.navigationBar.hidden = YES;
te da un espacio donde debería estar la barra de navegación. Me gusta esto:
Swift 4
Lo escondo a la vista, va a aparecer
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.isNavigationBarHidden = true;
}
Luego puede volver a colocarlo cuando presione un segue (si desea tener el botón Atrás en la vista siguiente)
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{
self.navigationController?.isNavigationBarHidden = false;
}