Agregué un control de navegación para cambiar de vista en mi aplicación. Pero algunas de las vistas no deberían tener el botón 'Atrás' (el título anterior). ¿Alguna idea sobre cómo ocultar el botón Atrás?
Agregué un control de navegación para cambiar de vista en mi aplicación. Pero algunas de las vistas no deberían tener el botón 'Atrás' (el título anterior). ¿Alguna idea sobre cómo ocultar el botón Atrás?
Respuestas:
C objetivo:
self.navigationItem.hidesBackButton = YES;
Rápido:
navigationItem.hidesBackButton = true
self.navigationItem.leftBarButtonItem = nil;
. Si ha establecido leftbarbuttonitem explícitamente, puede usarlo self.navigationItem.leftBarButtonItem = nil;
. self.navigationItem.hidesBackButton = YES;
ocultará el elemento del botón Atrás
La mejor manera es combinarlos, por lo que ocultará el botón Atrás incluso si lo configura manualmente:
self.navigationItem.leftBarButtonItem=nil;
self.navigationItem.hidesBackButton=YES;
ocultar el botón de retroceso con el siguiente código ...
[self.navigationItem setHidesBackButton:YES animated:YES];
o
[self.navigationItem setHidesBackButton:YES];
Además, si tiene un UINavigationBar
código personalizado , pruebe el siguiente código
self.navigationItem.leftBarButtonItem = nil;
Usa el código:
self.navigationItem.backBarButtonItem=nil;
No olvide que necesita llamarlo en el objeto que tiene el controlador de navegación. Por ejemplo, si tiene un controlador de navegación presionando un controlador de barra de pestañas con un RootViewController, llamar self.navigationItem.hidesBackButton = YES
al RootViewController no hará nada. En realidad deberías llamarself.tabBarController.navigationItem.hidesBackButton = YES
No olvides que ahora tenemos el gesto de deslizar hacia atrás. Probablemente también quieras eliminar esto. No olvide habilitarlo nuevamente si es necesario.
if ([self.navigationItem respondsToSelector:@selector(hidesBackButton)]) {
self.navigationItem.hidesBackButton = YES;
}
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
Agregue este código en su controlador de vista
UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)];
UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView];
self.navigationItem.leftBarButtonItem = btnL;
Para mí, nada de lo anterior parecía funcionar, no tenía ningún efecto visual. Estoy usando guiones gráficos con una vista que está "incrustada" en un controlador de navegación.
Luego, a nivel de código, agrego mis elementos de menú y, por alguna razón, el "botón de retroceso" es visible al depurar visualmente la jerarquía de vista, y mi icono de elemento de menú se muestra debajo del "botón de retroceso" invisible.
Probé la configuración, como se sugirió en los diversos métodos de enlace y eso no tuvo ningún efecto. Luego probé un enfoque más brutal e iteré sobre la subvista que tampoco tuvo ningún efecto.
Inspeccioné los tamaños de mis íconos y parecía estar bien. Después de referirme a la Guía de interfaz humana de Apple, confirme que mis iconos son correctos. (1 píxel más pequeño en mi caso 24px 48px 72px).
La parte más extraña es la solución real ...
Al agregar el elemento BarButton, dele un título con al menos un carácter , en mi caso, un espacio.
Espera que esto ayude a alguien.
//left menu - the title must have a space
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " <--THE FIX
style:UIBarButtonItemStylePlain
target:self
action:@selector(showMenu)];
leftButtonItem.image = [UIImage imageNamed:@"ic_menu"];
[self.navigationItem setLeftBarButtonItem:leftButtonItem];
prueba este
self.navigationController?.navigationItem.hidesBackButton = true
En c # o Xamarin.ios, this.NavigationItem.HidesBackButton = true;
navigationItem.leftBarButtonItem = nil
navigationItem.hidesBackButton = true
si usa este bloque de código dentro de didLoad o loadView funcionó pero no funcionó a la perfección. Si observa detenidamente, puede ver que el botón de retroceso se oculta cuando se carga su vista.
¿Cuál es la solución perfecta?
Agregue el componente BarButtonItem desde componentView (Comando + Mayús + L) a la barra de navegación de la vista de destino Controladores.
Seleccione BarButtonItem set Title = "" desde el panel derecho