tab item bar iphone objective-c ios uinavigationcontroller uitabbarcontroller

iphone - item - UINavigationController dentro de UITabBarController, configurando el título del controlador de navegación



uitabbarcontroller programmatically swift 4 (5)

En mi aplicación tengo un UINavigationController dentro de un UITabBarController. Todo funciona bien, sin embargo, no puedo configurar el título para el controlador de navegación. He intentado varios métodos diferentes y busqué en Google, pero parece que no hay solución para este problema.

Cualquier ayuda sería muy apreciada.

Gracias de antemano.

Sam


Mire la clase UIViewController en los documentos. Hay una propiedad que apunta al UINavigationItem que luego tiene una propiedad que apunta al title . Si el puntero al elemento de navegación devuelve nulo, no debe haber conectado los controladores correctamente.


Para mí, lo siguiente funciona bien:

Inicie los controladores en appDelegateDidFinishLaunching: Método:

UINavigationController *navContr1; UINavigationController *navContr2; UIViewController *viewController1, *viewController2; viewController1 = [[[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil] autorelease]; viewController2 = [[[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil] autorelease]; navContr1 = [[[UINavigationController alloc] initWithRootViewController:viewController1] autorelease]; navContr2 = [[[UINavigationController alloc] initWithRootViewController:viewController2] autorelease]; self.tabBarController = [[[UITabBarController alloc] init] autorelease]; //self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil]; self.tabBarController.viewControllers = [NSArray arrayWithObjects:navContr1, navContr2, nil]; self.window.rootViewController = self.tabBarController; [self.window makeKeyAndVisible];

con esto hecho, en sus diferentes viewControllers initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil - Método puede cambiar el título con la siguiente línea:

self.title = @"Your Title";

Buena suerte.


self.navigationItem.title = @"Your Title"

Funciona para todos los casos.


self.title siempre establece el mosaico del objeto rootViewController de su ViewController.

Si tiene su viewController y el rootViewController es UINavigationController , self.title establecerá el título de UINavigationController .

De forma similar, si ha inicializado un UITabViewController con los objetos UIViewController , el self.title se aplicará en el botón correspondiente del título en el índice, en UITabBar de UITabViewController .

De ahí que se diga que self.title aplica al objeto que contiene viewController .


Encontré la respuesta al final, fue:

self.tabBarController.navigationItem.title = @"title";