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 el tabBarItem
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ón tabBarItem
para que el título se muestre de manera diferente al navigationItem
título de
Puede crear sus tabBarItem
y asociarlos a su VC directamente como tal.
let tabBarVCOne = BooksListViewController()
tabBarVCOne.tabBarItem = UITabBarItem(title: "Books", image: nil, tag: 0)
tabBarViewControllers.append(tabBarVCOne)
...
Entonces tendrás algo como esto:
//Wrap each view controller in a navigation controller.
self.viewControllers = tabBarViewControllers.map(UINavigationController.init)
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.
self.viewControllers = tabBarViewControllers.map({
let navigationController = UINavigationController(rootViewController: $0)
navigationController.tabBarItem = $0.tabBarItem
return navigationController
})
Ahora podrá tener un título diferente (establecido de su VC) separado del título definido para su tabBarItem
.