UITabBarController / UINavigationController отсутствует заголовок - PullRequest
1 голос
/ 27 августа 2009

У меня есть UINavigationController и UITabBarController, видимые одновременно. Кнопки панели вкладок и панель навигации берут свой текст из заголовка активного в данный момент представления.

- (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @"View Title";

Однако я хочу другого. На самом деле, я бы хотел, чтобы заголовок навигационного контроллера оставался неизменным при любом отображаемом виде.

Есть идеи?

Большое спасибо.

Ответы [ 5 ]

3 голосов
/ 11 апреля 2011

Попробуйте

UITabBarItem *tItem = [self tabBarItem];
[tItem setTitle:@"Title for tabbar"];

это не изменит заголовок панели вкладок, если вы установите заголовок навигации, например

[self setTitle:@"Title for navBar"];

но я обнаружил, что иногда он меняет и tabBar, и naviBar

затем я вставляю код заголовка набора TabBar в - (void) viewWillAppear снова, чтобы предотвратить такое происходит

Спасибо

1 голос
/ 24 февраля 2010
   -(void)viewDidLoad{
 [self setTitle:@"Custom Title goes here"];
}

Это сработало для меня.

1 голос
/ 27 августа 2009

Вам придется вручную назначать имя заголовка, как вы делаете выше, в других ваших контроллерах представления.

Если ваша иерархия представления имеет глубину более двух уровней, будьте осторожны, так как кнопка «Назад» будет выглядеть немного странно для пользователя (если вы не переопределите ее). Фактически, если каждое представление имеет одинаковый заголовок, что может показаться странным для пользователя, точка ...

0 голосов
/ 04 мая 2013

Я нашел ... используя

self.tabBarController.title = @"navTitle";

меняет заголовок панели навигации, а

self.title = @"tabTitle";

изменяет заголовок элемента панели вкладок.

0 голосов
/ 27 августа 2012

Согласно KwangBok Lee, я проверил, лучший ответ будет:

self.title = @"my settings";//changes both tabbars and navigationbars title

self.tabBarItem.title = @"settings";//only changes tabbars title
...