NavigationController title

Я работаю над приложением с навигационным контроллером. Я знаю, как установить заголовок, когда изначально загружается представление. Я нажимаю новый контроллер и устанавливаю его. Теперь проблема заключается в том, когда я нажимаю кнопку "Назад", название для исходного контроллера представления больше не существует. Я пытался сделать...

- (void)viewWillAppear:(BOOL)animated {
    self.navigationController.title = @"Some Title";
}

Это не определило название. Кто-нибудь знает, что я могу сделать?

Ответы

Ответ 1

UINavigationController получает значение для заголовка из текущего UIViewController.

Чтобы установить заголовок для контроллера вида, просто выполните следующие действия:

- (void)viewDidLoad {

   [super viewDidLoad];
   self.title = @"Some Title";
}

Для каждого из ваших контроллеров View, включая корневой.

Ответ 2

Попробуйте изменить заголовок пункта навигации.

[self.navigationItem setTitle:@"Some Title"];

Ответ 3

в Swift 3:

navigationItem.title = "Custom title"

или если вы хотите настроить детали заголовка:

let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 100, height: 30))
titleLabel.textColor = UIColor.red
titleLabel.text = "Hello"
titleLabel.textAlignment = .center
titleLabel.backgroundColor = UIColor.green
titleLabel.font = UIFont(name: "Baskerville-Bold", size: 20)
navigationItem.titleView = titleLabel

Ответ 4

Попробуйте настроить заголовок таким образом.

self.navigationitem.title = @"My Title";