Por defecto, el botón Atrás usa como texto el título de un controlador de vista. ¿Puedo cambiar el texto del botón Atrás sin cambiar el título de un controlador de vista? Necesito esto porque tengo un controlador de vista cuyo título es demasiado largo para mostrar y, en este caso, me gustaría mostrar solo "Atrás" como título para el botón Atrás.
Intenté lo siguiente que no funcionó:
self.navigationItem.leftBarButtonItem.title = @"Back";
Gracias.
ios
iphone
cocoa-touch
uinavigationitem
Ilya Suzdalnitski
fuente
fuente
Respuestas:
Tratar
Encontré eso mirando los documentos backBarButtonItem en los documentos de Apple para UINavigationItem .
fuente
El enfoque de Marc W funcionó muy bien una vez que descubrí a qué controlador aplicarlo: el que se cambia de título, no el que está en la parte superior. Entonces, si esta es la pila de navegación:
... y desea dar un título más corto para ControllerA en el botón de retroceso que se muestra cuando ControllerB está en la parte superior , aplica el cambio de propiedad a ControllerA .
Así que está más en el contexto de
self.title
, no como los otros establecedores de botones de barra izquierda / derecha.fuente
Puedes hacerlo en el guión gráfico. Busque el controlador de vista al que desea volver (el que tiene el título largo), seleccione su Elemento de navegación y abra el Inspector de atributos (Alt + Cmd + 4), inserte el título personalizado del Botón Atrás.
fuente
Gracias Marco ... eso me ayudó ...
Aquí esta lo que hice.
Si está utilizando un tableView para navegar a diferentes vistas ... ponga el código:
En su
didSelectRowAtIndexPath
método ... del primer controlador ... controlador A.Cuando navegue hasta el controlador B, el botón tendrá el título "Atrás".
fuente
El botón de retroceso extrae su texto del título del controlador de vista principal.
En el controlador de vista principal (el controlador de vista que aparece cuando toca el botón Atrás), establezca su propio título como el texto deseado en el botón Atrás.
Por ejemplo, digamos que tenemos una
RootViewController
clase. Cuando hacemos clic en una celda en su vista de tabla, enviamos una instancia deSecondViewController
. Queremos que el botón de retroceso de laSecondViewController
instancia diga "Inicio".en el
viewDidLoad
método de RootViewController.m :en el
viewDidLoad
método de SecondViewController.m :Si desea que el botón de retroceso lea "Atrás", establezca el título del controlador de vista principal en
@"Back"
;fuente
Esto funciona mejor para mí. Tratar :
fuente
Si está utilizando el guión gráfico:
Eso es todo, disfruta ...
fuente
Y en MonoTouch funciona lo siguiente (en ViewDidLoad del controlador principal):
fuente
Esto funcionó para mí.
fuente
En su controlador de vista principal, configure el botón Atrás cuando se cargue la vista:
Tenga en cuenta que no necesitamos incluir
autorelease
al final con la última versión de iOS.¡Espero que esto ayude!
fuente
[self.navigationController.navigationBar.backItem setTitle:@"back"];
Esto funciona para mi. Puede reemplazar "atrás" con otra cosa.
fuente
¡Este me funcionó si no quieres tener un título!
fuente
fuente
Finalmente supe por qué estas respuestas no me funcionaron al principio. Puse el título en el guión gráfico. Cuando configuro el título en el código. ¡funciona!
fuente
Mi solución fue establecer el título cuando el controlador de vista se empuja a la pila de navegación y restablecerlo mediante el uso del método delegado antes de que se cierre vc:
Así que puse el cambio de título al llamar al controlador de vista cuando presiono el otro controlador de vista como:
y en la función de devolución de llamada delegada (que invoco en viewWillDissapear):
fuente
Si no solo desea cambiar el texto del botón Atrás y mantener la forma de flecha izquierda original, sino también hacer algo cuando el usuario hace clic en el botón Atrás, le recomiendo que eche un vistazo a mi " CustomNavigationController ".
fuente
// Puede lograr esto configurando el título en el controlador de vista anterior como se muestra a continuación
fuente
Para cambiar el título del botón de retroceso, consulte el siguiente código
fuente
En Swift5, el backBarButtom no se puede editar. Por lo tanto, primero debemos ocultar backBarButtom, luego usar un leftbarButtom personalizado para reemplazar backBarButtom. Aquí está la solución detallada: https://stackoverflow.com/a/63868300/13939003
fuente
Esto funcionó para mí:
fuente