objective c - Botón Atrás en UINavigationBar Ocultar problema
add button to navigation bar swift 4 (5)
Cuando uso esto: [self.navigationItem setHidesBackButton:YES animated:NO];
para ocultar el botón Atrás en mi barra de navegación, mi título no se centra. Se imprime como si el botón aún estuviera allí.
¿Alguien sabe por qué sucede esto y cómo solucionarlo?
EDITAR:
Mi programa es así: mi rootViewController es un controlador de navegación, y configuré eso para que la barra de navegación esté oculta. Luego presiono otro UIViewController, que hago que la barra de navegación aparezca nuevamente, pero hago que el botón Atrás desaparezca.
self.navigationItem.backBarButtonItem = nil;
la configuración self.navigationItem.backBarButtonItem = nil;
, pero no hizo desaparecer el botón de retroceso.
Aquí hay algunas imágenes para referencia:
El problema al que se está enfrentando es porque no está cambiando la composición de la barra de navegación, solo está ocultando una parte. Cuando configura el valor oculto de su botón, está haciendo exactamente eso, ocultándolo, no quitándolo. Todavía ocupará espacio. Para resolver su problema, debe quitar el botón, luego, cuando desee que el uso pueda navegar, simplemente vuelva a agregar el botón.
Sin embargo, de forma realista, si tiene problemas de visualización como este, debería reconsiderar el diseño de la interfaz de usuario de la barra de navegación e intentar obtener un título de botón más efectivo.
Establecer self.navigationItem.backBarButtonItem = nil;
La propiedad que está configurando se refiere a cómo se representa el "uno mismo" cuando se trata del elemento "posterior" en la pila del controlador de navegación. Supongo que está estableciendo esto en su controlador de vista "calendario de trabajo", no funcionará a menos que ese controlador tenga más vistas secundarias.
Intente configurar la propiedad leftButtonItem de la barra de navegación en lugar de cero.
Solo usé esto y funciona.
[self.navigationItem setHidesBackButton:YES animated:NO];
self.navigationItem.titleView.center = self.navigationController.navigationBar.center;
viewController.navigationItem.hidesBackButton = YES;
Esto funciona perfectamente!