it-swarm.com.ru

Как установить заголовок панели навигации в раскадровке?

Я не могу решить это, несмотря на все мои усилия. Я также ознакомился с документацией Apple и несколькими смежными вопросами здесь, и все же у меня есть ментальный блок по этому вопросу.

Используя Xcode 6, я встроил контроллер табличного представления в контроллер навигации и мог установить заголовок панели навигации в контроллере табличного представления, но не в двух контроллерах представления, которые связаны с табличным представлением через segues.

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

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

17
cheznead

Я почти уверен, что это ошибка в xCode ... У меня возникла та же проблема, и большую часть времени она решалась путем перезапуска xCode.

** Кроме того, вы можете решить эту проблему, выполнив:

Перетащите элемент Navigation из панели объектов в viewcontroller или tableviewcontroller. Казалось, это работает для меня. Я заметил, что область навигации отсутствовала на «Панели контура документа».

Надеюсь, это поможет.

32
rckehoe

У меня такая же проблема. Что мне помогло, так это выбрать контроллер, на котором я не мог установить заголовок, щелкнуть редактор -> встроить -> контроллер навигации.

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

Экран, который был ранее встроен, теперь должен содержать заголовок, который вы создали ранее.

5
Hutch

Попробуйте установить заголовок программно -> self.navigationItem.title = @ "REGISTER"; 

5
Yakir Sayada

У меня была такая же проблема, когда я следовал руководству Apple по Swift. Двойное нажатие на «панель навигации» ничего не сделало для меня. Как я это решил: 

1: выберите «элемент навигации» на панели структуры документа.

2: Откройте инспектор атрибутов.

3: Выберите поле заголовка и напишите здесь заголовок.

4
tsson

место это ваша подготовка к переходу: [segue.destinationViewController setTitle: @ "Новая задача"];

2
Dennis Hansen

При внедрении контроллеров обязательно используйте Sege of Relationship, а не Segue Manual.

1
kumpri

Ни один из ответов не сработал для меня.

Это сработало:

  1. Удалить навигационное соединение 
  2. Ctrl перетащить новое навигационное соединение
  3. Сделать это показывать связь
  4. Теперь вы можете редактировать заголовок
  5. Удалить навигационное соединение снова
  6. Снова создайте исходный тип подключения Nav

Похоже, это действительно ошибка в IB ????

1
eonist

Обновите эту проблему, если кому-то еще это нужно:

  1. Сделать переход между ViewControllers
  2. Выберите опцию «Вид» как «Показать» (например, Push)
  3. Чем изменить эту опцию Kind на некоторые устаревшие - напр. От себя
  4. Теперь вы можете редактировать свои заголовки и элементы навигации из раскадровки.
  5. Не забудьте изменить опцию «Вид» снова на то, что вам нужно.
1
xxcat

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

Выбрав контроллер представления в раскадровке, вы можете установить заголовок под «View Controller» в Инспекторе Атрибутов (Xcode 9):

 enter image description here

0
sohelpme

Подключите свой элемент навигации к своему классу (т.е. UIViewController) и получите программный доступ к его названию, написав следующее в вашем viewDidLoad:

navigationItem.title = "whateverTextHere"
0
Ade