Cómo cambiar el título de uiviewcontroller independientemente del título del elemento tabbar

Estoy configurando el título de mi controller de vista como este a la vista si se cargó:

self.title = @"my title"; 

antes de esto, configuré el título en tablas de historia para el controller de vista y el controller de navigation en el que está embedded. Lo configuré como: "Título";

Cuando hago clic en la pestaña que contiene el controller de vista, el título del elemento de la barra de tabs y el uiviewcontroller cambian a: mi título

Me gustaría que el controller de vista cambia pero el elemento de la barra de tabs se queda con el título: Título

¿Cómo puedo lograr esto?

Parece que quieres que cambie el título de la barra de navigation, pero no el de la barra de tabs. Esto debería hacer eso.

 [self.navigationItem setTitle:@"my title"]; 

Rápido:

 self.navigationItem.title = "My Title" 

Entonces, para aquellos que aún no lo entienden (como yo)

self.navigationItem.title = @"my title"; establece el título de la barra de navigation .

self.tabBarItem.title = @"my title"; establece el título de la barra de tabs .

self.title = @"my title"; establece ambos .

Para Swift usa esto,

 self.navigationItem.title = "Navigation bar title" self.title = "Tab bar title" 

Creo en el método viewDidLoad del controller de vista que puede hacer:

 self.title = @"my title"; self.tabBarItem.title = @"tab title"; 

Bastante tarde para esto. Puede hacer que su TabBarController sirva como UITabBarControllerDelegate y UINavigationControllerDelegate para sí mismo y los controlleres de navigation embeddeds en cada una de sus tabs, respectivamente.

.marido:

 @interface YourTabBarController : UITabBarController <UITabBarControllerDelegate, UINavigationControllerDelegate> @end 

.metro:

 - (void) viewDidLoad { // UITabBarControllerDelegate self.delegate = self; // UINavigationControllerDelegates yourNavigationController.delegate = self; ... } - (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{ yourNavigationController.tabBarItem.title = @"Tab Bar Title"; ... } - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { yourNavigationController.tabBarItem.title = @"Tab Bar Title"; ... } 

Basándose en algunas testings rápidas, parece que estas dos acciones de delegado deben cubrir todos los casos sueltos y actualizarán el título, ya sea que esté cambiando tabs o navegando en su controller de navigation. Para completar, podría actualizar su título en didShowViewController también, pero en base a lo que he visto, no creo que sea necesario.

Probablemente un poco tarde (pero).

Configurar el título de un VC cambia el título de la Navegación Y la tabBar. (si el VC ya está conectado a ambos).

Si desea tener títulos por separado, debe configurarlos manualmente, normalmente establece el título para el VC y luego específicamente el título del tabBarItem, ya que es una propiedad de la