Estoy configurando el título de mis controladores de vista como este en la vista que se cargó:
self.title = @"my title";
antes de esto, establezco el título en los storyboards para el controlador de vista y el controlador de navegación en el que está integrado. Lo configuro en: "Título";
Cuando hago clic en la pestaña que contiene el controlador de vista, el título del elemento de la barra de pestañas y uiviewcontroller
cambio a: mi título
Me gustaría que el controlador de vista cambiara, pero el elemento de la barra de pestañas permaneciera con el título: Título
¿Cómo puedo lograr esto?
Entonces para aquellos que todavía no lo entienden (como yo)
self.navigationItem.title = @"my title";
establece el título de la barra de navegación .self.tabBarItem.title = @"my title";
establece el título de la barra de pestañas .self.title = @"my title";
establece ambos .fuente
Rápido
Establecer título de la barra superior
Establecer título de elemento de pestaña
Establecer ambos títulos
fuente
topItem
?Para Swift usa esto,
fuente
Nota: Si tiene un controlador de barra de pestañas con controladores de navegación en la raíz de cada controlador de vista, configurar el elemento de la barra de pestañas en los controladores de vista no afectará el título si está configurando el
navigationItem.title
. Deberá configurar eltabBarItem
en el controlador de navegación en su lugar para que se recoja desde el controlador de la barra de pestañas.Ninguna de las respuestas publicadas por otros me funcionó porque todos los controladores de vista de mi barra de pestañas tienen controladores de navegación en su raíz; este es un patrón de jerarquía común para
UITabBarController
. En su lugar, debe configurar el controlador de navegacióntabBarItem
para que el título se muestre de manera diferente alnavigationItem
título dePuede crear sus
tabBarItem
y asociarlos a su VC directamente como tal.Entonces tendrás algo como esto:
Pero eso debería cambiarse a lo siguiente para tomar el ya asociado
tabBarItem
del controlador de vista y configurarlo en el controlador de navegación automáticamente.Ahora podrá tener un título diferente (establecido de su VC) separado del título definido para su
tabBarItem
.fuente
Bastante tarde para esto. Puede hacer que su TabBarController sirva como UITabBarControllerDelegate y UINavigationControllerDelegate para sí mismo y los controladores de navegación incrustados en cada una de sus pestañas, respectivamente.
.h:
.metro:
Según algunas pruebas rápidas, parece que estas dos acciones delegadas deberían cubrir cualquier caso suelto y actualizarán el título, ya sea que esté cambiando de pestaña o navegando en su controlador de navegación. Para completar, también puede actualizar su título en didShowViewController , pero según lo que he visto, no creo que sea necesario.
fuente
Probablemente un poco tarde (pero).
Establecer el título de un VC cambia el título de la navegación Y la barra de pestañas. (si el VC ya está conectado a ambos).
Si desea tener títulos separados, debe configurarlos manualmente, normalmente establece el título para el VC y luego específicamente el título de tabBarItem, ya que es una propiedad del
fuente
Rápido 4.2
Aquí tienes, creé una extensión para UIViewController:
Y luego desde tu controlador:
fuente