Эй все. Я все еще довольно плохо знаком с разработкой iPhone, и я испытываю немного затруднений при выяснении, как изменить заголовок моей Панели навигации. По другому вопросу на этом сайте кто-то рекомендовал использовать:
viewController.title = @"title text";
но это не работает на меня... Я должен добавить UINavigationController для выполнения этого? Или возможно просто торговая точка от моего подкласса UIViewController? Если это помогает, я определил панель навигации в IB, и я пытаюсь установить его заголовок в своем подклассе UIViewController. Это - другой тех простых вещей, который дает мне головную боль. Помещение self.title = "текст заголовка"; в viewDidLoad
и initWithNibName
не работал также. Кто-либо знает то, что происходит и как получить его происходящий право?
Спасибо!
Контроллер представления должен быть дочерним по отношению к некоторому UINavigationController, чтобы свойство .title
вступило в силу. Если UINavigationBar - это просто представление, вам нужно нажать на элемент навигации, содержащий заголовок, или изменить последний элемент навигации:
UINavigationItem* item = [[UINavigationItem alloc] initWithTitle:@"title text"];
...
[bar pushNavigationItem:item animated:YES];
[item release];
или
bar.topItem.title = @"title text";
если вы делаете все это кодом, то в методе viewDidLoad
метода UIViewController
нужно добавить только self. title = @"title text";
что-то вроде этого:
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"title";
}
вы также можете попробовать self.navigationItem.title = @"title";
также проверьте, не является ли ваш navigationItem нулевым, и если вы установили пользовательский фон для панели навигации, проверьте, устанавливается ли заголовок без него.
Я думаю, вам нужно динамическое название, поэтому вы не устанавливайте его в IB.
И я предполагаю, что ваш объект viewController - это тот, который указан в NIB?
Возможно, попытаться установить для него фиктивное значение в IB, а затем отладить методы, чтобы увидеть, какой контроллер имеет фиктивное значение - предполагая, что оно отображается как заголовок ...