Ответ 1
Я нашел, если бы использовал self.navigationItem.title = 'Blah';
вместо self.title
, это сработало бы.
В моем приложении iPhone у меня есть панель вкладок. Эта панель вкладок содержит UINavigationController. У меня есть:
self.tabBarItem.title = 'Create New';
и self.title = 'Create New';
self.title = 'Blah';
.Но, всегда, отображается self.title первого контроллера представления, нажатого на навигационный контроллер (Blah). Как бы вы установили заголовок элемента панели вкладок? Благодаря, Исаак Уоллер
Я нашел, если бы использовал self.navigationItem.title = 'Blah';
вместо self.title
, это сработало бы.
Я просто решил ту же проблему. Я использовал self.tabBarItem.item
для первой вкладки моего tabBarController
, которая является первой и единственной, загружающей ее navigationController
. Итак, для первой вкладки в панели вкладок вы должны установить заголовок по-разному. Я попытаюсь проиллюстрировать:
панель вкладок с 3 вкладками (a UINavigationController
предоставляет содержимое каждой вкладки)
self.tabBarItem.item
в '1st')self.title
в 'tab1 View'self.tabBarItem.item
в '2nd')self.title
в 'tab View'self.tabBarItem.item
в '3rd')self.title
в 'tab3 View'Когда панель вкладок загружает все ее viewControllers
для каждой из трех вкладок, кнопки вкладок на панели вкладок имеют следующие метки:
Это связано с тем, что 2-й и 3-й навигационные контроллеры не загружаются, пока пользователь не выберет эти вкладки. Первая вкладка загружается, когда загружается UITabBarController
и из-за порядка событий она заменяет tabBarItem.title
на rootController rootController self.title
.
Чтобы исправить это, вы просто используете self.navigationItem.title
вместо self.title
. Вы ТОЛЬКО должны сделать это для первой вкладки rootController rootViewController.
Надеюсь, это имеет смысл. Вы решили свою проблему, но я хотел, чтобы вы и кто-то еще знали, ПОЧЕМУ, что это работает так.