Nota: Se você tiver um controlador de barra de guias com controladores de navegação na raiz de cada controlador de visualização, definir o item da barra de guias nos controladores de visualização não afetará o título se você estiver configurando o navigationItem.title
. Em vez disso, você precisará definir o tabBarItem
no controlador de navegação para que ele seja obtido no controlador da barra de guias.
Nenhuma das respostas postadas por outras pessoas funcionou para mim porque todos os controladores de visualização da minha barra de guias têm controladores de navegação em sua raiz - este é um padrão de hierarquia comum para UITabBarController
. Você deve definir o controlador de navegação tabBarItem
para fazer com que o título seja mostrado de forma diferente do navigationItem
título de
Você pode criar seus tabBarItem
e associá-los ao seu VC diretamente.
let tabBarVCOne = BooksListViewController()
tabBarVCOne.tabBarItem = UITabBarItem(title: "Books", image: nil, tag: 0)
tabBarViewControllers.append(tabBarVCOne)
...
Então você terá algo assim:
//Wrap each view controller in a navigation controller.
self.viewControllers = tabBarViewControllers.map(UINavigationController.init)
Mas isso deve ser alterado para o seguinte para obter o já associado tabBarItem
do controlador de visualização e configurá-lo no controlador de navegação automaticamente.
self.viewControllers = tabBarViewControllers.map({
let navigationController = UINavigationController(rootViewController: $0)
navigationController.tabBarItem = $0.tabBarItem
return navigationController
})
Agora você poderá ter um título diferente (definido em seu VC), separado do título definido para seu tabBarItem
.