iPhone: настройка заголовка панели навигации - PullRequest
84 голосов
/ 17 февраля 2010

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

viewController.title = @"title text";

но это не работает для меня ... Нужно ли добавить UINavigationController для этого? Или, может быть, просто выход из моего подкласса UIViewController? Если это помогает, я определил панель навигации в IB, и я пытаюсь установить ее заголовок в моем подклассе UIViewController. Это еще одна из тех простых вещей, которая вызывает у меня головную боль. Putting self.title = @ "текст заголовка"; в viewDidLoad и initWithNibName тоже не работали. Кто-нибудь знает, что происходит и как правильно это сделать?

Спасибо!

Ответы [ 14 ]

1 голос
/ 08 апреля 2015

Для всех ваших Свифтеров это отлично сработало для меня. Это также один из самых коротких способов установки названия:

override public func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  if segue.identifier == "presentLineItem" {
    print("Setting Title")
    var vc = segue.destinationViewController as! LineItemsTableViewController
    vc.navigationItem.title = "Line Item"
  }
}
1 голос
/ 21 мая 2014

Изнутри вашего TableViewController.m :

self.navigationController.navigationBar.topItem.title = @ "Blah blah Some Amazing title";

1 голос
/ 17 февраля 2010

Полагаю, вам нужен динамический заголовок, поэтому вы не устанавливаете его в IB.

И я предполагаю, что ваш объект viewController указан в NIB?

Возможно, пытаясь установить фиктивное значение в IB, а затем отладить методы, чтобы увидеть, какой контроллер имеет фиктивное значение - при условии, что оно отображается в качестве заголовка ...

0 голосов
/ 05 декабря 2017

То, что сработало для меня, было self.titleLabel.text = @"New Title";

...