example bar ios uinavigationcontroller

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:

  1. Seleccione el controlador de navegación en el guión gráfico
  2. Seleccione el Inspector de Atributos en el panel de Utilidades (derecha)
  3. 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; }