Вопрос

В моем приложении для iPhone есть панель вкладок.Эта панель вкладок содержит UINavigationController.У меня есть:

  • В Interface Builder установите для заголовка элемента вкладки значение «Создать новый».
  • В контроллере UINavigation у меня есть self.tabBarItem.title = 'Create New'; и self.title = 'Create New';
  • В UIViewController, помещенном в контроллер:self.tabBarItem.title = 'Создать новый';но self.title = 'Blah';.

Но всегда отображается собственный заголовок первого контроллера представления, помещенного в навигационный контроллер (Бла).Как бы вы установили заголовок элемента панели вкладок?Спасибо, Исаак Уоллер

Это было полезно?

Решение

Я нашел, если бы я использовал self.navigationItem.title = 'Blah'; вместо self.title, это сработает.

Другие советы

Я только что решил ту же проблему.я использовал self.tabBarItem.item для первой вкладки моего tabBarController, который является первым и единственным, который загружает свой navigationController.Поэтому для первой вкладки на панели вкладок вам нужно установить заголовок по-другому.Я попробую проиллюстрировать:

панель вкладок с тремя вкладкамиUINavigationController предоставляет контент на каждой вкладке)

  1. вкладка 1
    • загружает tab1NavController.m (устанавливает self.tabBarItem.item на «1-й»)
    • загружает tab1ViewController.m (устанавливает self.title в «Просмотр tab1»
  2. вкладка 2
    • загружает tab2NavController.m (устанавливает self.tabBarItem.item на «2-й»)
    • загружает tab2ViewController.m (устанавливает self.title на вкладку «Вид»
  3. вкладка 3
    • загружает tab3NavController.m (устанавливает self.tabBarItem.item на «3-й»)
    • загружает tab3ViewController.m (устанавливает self.title в «Просмотр tab3»

Когда панель вкладок загружает все свои viewControllers для каждой из трех вкладок кнопки вкладок на панели вкладок имеют следующие метки:

  1. 'Просмотр tab1'
  2. '2-й'
  3. «3-й»

Это связано с тем, что второй и третий навигационные контроллеры не загружаются, пока пользователь не выберет эти вкладки.Первая вкладка загружается при UITabBarController загружается и в соответствии с порядком событий заменяет tabBarItem.title с rootViewController navController self.title.

Решение

Чтобы это исправить, вы просто используете self.navigationItem.title вместо self.title.Вам нужно сделать это ТОЛЬКО для rootViewController первой вкладки navController.

Надеюсь это имеет смысл.Вы решили свою проблему, но я хотел, чтобы вы и все остальные знали, ПОЧЕМУ это работает именно так.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top