2017-01-20 5 views
2

Итак, у меня есть базовый контроллер представления с панелью навигации, это контроллер просмотра B, поэтому я выполняю segue, чтобы перейти сюда, и я пытаюсь изменить заголовок следующим образом:Устанавливает название навигационной панели

override func viewDidLoad() { 
    debugPrint(self.selectedName) 
    super.viewDidLoad(); 
    self.navigationItem.title = "A NEW TITLE" 
} 

Но это не делает ничего

enter image description here

+0

Вы можете добавить свой раскадровки сцену –

+0

Ваш снимок экрана из раскадровки. Код будет влиять на экран только при его запуске. Или просто обновите ярлык непосредственно в раскадровке. – Fogmeister

+1

Является ли ваш контроллер просмотра встроенным в контроллер навигации или вы просто добавили объект панели навигации к своему виду? – xoudini

ответ

3

Для Swift 3:

Если вы хотите установить только заголовок навигации без использования UINavigationController затем сделать выход навигационного элемента, как

@IBOutlet weak var navItem: UINavigationItem! 

, а затем в viewDidLoad() записи

navItem.title = "ANY TITLE" 
0

Ok, Так что вам нужно вставить все это в навигации контроллер, а затем сделать это навигационный контроллер в качестве исходного контроллера.

Выберите раскадровку, нажмите на первый контроллер затем нажмите это -

img

Затем снимите панель навигации вы установили (поместить) в течение последнего контроллера с именем «название».

Причина, по которой это не работает, поскольку вы пытаетесь изменить заголовок навигационной панели навигационного контроллера, но у нее ее нет, поэтому она не может ее изменить.

0

Существует множество способов, которыми вы можете следовать, чтобы достичь этого. Вот немногие из них.

Прежде всего.

Если вы готовы ввести «Вставить» в контроллер навигации, или если у вас уже есть один, вы можете получить доступ к этому, используя следующий код.

self.navigationController?.navigationBar.topItem?.title = "Your Title" 

Теперь для получения дополнительной настройки:

  1. Поместите UINavigationBar объект на ViewController сцене и добавить ограничения к нему.
  2. сделать выход из вновь вводимым UINavigationBar как следующим образом -

    @IBOutlet weak var orderStatusNavigationbar: UINavigationBar! 
    
  3. Теперь установить заголовок, используя розетку.

    orderStatusNavigationbar.topItem?.title = "Your Title" 
    

Все это выше код в Swift 3, но будет работать на более низкие версии Swift также (по крайней мере на Swift 2.0)

Надеется, что это помогло.

2

Чтобы установить Заголовок на Панель навигации просто мы можем сделать ниже код

self.title = "Your Title" 
Смежные вопросы