Я меняю название UITabBarItem после того, как пользователь изменит свои языковые предпочтения в настройках приложения. Проблема в том, что весь элемент исчезает некоторое время после этого изменения, а затем снова появляется с новым заголовком.Динамическая перезагрузка UIViewControllers при изменении языка
В AppDelegate Я инициализация UITabBarController:
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.delegate = self;
BFNCategoriesTableViewController *shopViewController = [[BFNCategoriesTableViewController alloc] init];
UINavigationController *shopNavigationController = [[UINavigationController alloc] initWithRootViewController:shopViewController];
shopNavigationController.tabBarItem = [[UITabBarItem alloc] initWithTitle:BFNLocalizedString(kTranslationShop) image:[UIImage imageNamed:@"TabBarShopUnselected"] selectedImage:[UIImage imageNamed:@"TabBarShopSelected"]];
self.tabBarController.viewControllers = @[offersNavigationController,
shopNavigationController,
//wishlistNavigationController,
cartNavigationController,
moreNavigationController];
Затем после перевода загружается я просто установить другое название, как это:
navigationController.title = BFNLocalizedString(kTranslationCart);
У вас есть представление о том, почему это происходит, и в конце концов, как оговорить эту проблему?
Спасибо.
Я ценю ваш ответ. Я редактировал свой оригинальный вопрос, чтобы понять, как tabBarController связан с UINavigationController. На самом деле UINavigationController имеет свойство tabBarItem, и вышеупомянутая реализация работает. Проблема в том, что после изменения заголовка, как я упоминал в исходном сообщении (что совпадает с вашими предложениями), tabBarItem исчезает в течение нескольких секунд. Другое решение, которое вы предложили, не работает, потому что «Неправильная модификация панели вкладок, управляемой контроллером панели вкладок, не допускается» – skornos