Примітка: Якщо у корені кожного контролера перегляду є контролер панелі вкладок з контролерами навігації, встановлення елемента рядка вкладки на контролерах перегляду не вплине на заголовок, якщо ви встановлюєте navigationItem.title. Вам потрібно буде встановити tabBarItemна навігаційний контролер замість того, щоб він вибирався з контролера панелі вкладок.
Жоден із відповідей, опублікованих іншими, не працював на мене, оскільки всі контролери перегляду мого панелі вкладок мають контролери навігації в корені - це загальна ієрархічна схема UITabBarController. Ви повинні встановити контролер навігації tabBarItemзамість цього, щоб назва відображалася інакше, ніж navigationItemназва
Ви можете створити свої tabBarItemта пов’язати їх із своїм ВК безпосередньо так.
let tabBarVCOne = BooksListViewController()
tabBarVCOne.tabBarItem = UITabBarItem(title: "Books", image: nil, tag: 0)
tabBarViewControllers.append(tabBarVCOne)
...
Тоді у вас вийде щось подібне:
//Wrap each view controller in a navigation controller.
self.viewControllers = tabBarViewControllers.map(UINavigationController.init)
Але це слід змінити на наступне, щоб схопити вже пов'язане tabBarItemз контролера перегляду та автоматично встановити його на навігаційний контролер.
self.viewControllers = tabBarViewControllers.map({
let navigationController = UINavigationController(rootViewController: $0)
navigationController.tabBarItem = $0.tabBarItem
return navigationController
})
Тепер ви зможете мати інший заголовок (встановлений на вашому ПК) окремим від заголовка, визначеного для вашого tabBarItem.