Обновление заголовка UINavigationBar - PullRequest
0 голосов
/ 26 февраля 2012

У меня есть контроллер разделенного вида и навигационный контроллер с левой стороны. Поскольку представления выдвигаются на контроллер навигации, я пытаюсь изменить заголовок панели навигации. Кажется, проблема в том, что текст может быть обновлен только в viewWillAppear. Если я пытаюсь изменить текст после этой начальной загрузки, он не обновляется. Сначала я подумал, что мне нужно вызвать setNeedsDisplay в NavigationItem, но у него нет свойства. Я не понимаю, потому что тот же код работает в viewWillAppear, но не один раз, когда отображается представление.

Я использую:

(void)viewWillAppear:(BOOL)animated{
        self.title = @"blah";
        ...
}

Ответы [ 3 ]

2 голосов
/ 26 февраля 2012

должно быть self.navigationItem.title = @"Some Title";

0 голосов
/ 11 июня 2015

Я создал простой проект, в котором первоначальный контроллер встроен в контроллер навигации, а второй контроллер помещается в стек навигации.Второй контроллер имеет кнопку, которая вызывает этот бит кода:

- (IBAction)changeTitle:(id)sender {

    static unsigned int i = 1;

    self.navigationItem.title = [NSString stringWithFormat:@"Number of changes: %ud", i];

    i++;

}

Работает как задумано.Понятно, что это происходит после всех событий появления / разметки.Так что ваша проблема лежит где-то еще.Возможно self, на который вы ссылаетесь, не тот контроллер.

0 голосов
/ 27 апреля 2012

self.navigationBar.topItem.title = [NSString stringWithFormat: @ "TOP"];

...