Невозможно добавить кнопку правого бара в панели навигации в раскадровках iOS8

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

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

Так можно ли как-то сделать в раскадровке в iOS 8?

Xcode ver. 6.2 Стабильный

Ответы

Ответ 1

Ну, похоже, есть проблема с различиями между новыми segues, представленными в iOS 8 и старыми. В этом случае разница между push segues, которая позволяет добавить кнопку правого бара в раскадровку и show segue, которая при добавлении автоматически (перетаскивание с контроллера на другой) не позволяет отбросить кнопку на панели навигации.

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

Для меня это решило:

  • Выбор сегмента, который приводит к проблемному контроллеру
  • Изменение его на "устаревший" push segue
  • Возврат к принятому show segue

Результат: теперь я могу добавить, как всегда, элемент правой кнопки панели через Storyboard.

Ответ 2

если вы хотите добавить BarButtonItem к не RootViewController, вы должны сначала добавить элемент навигации в свой ViewController.

Ответ 3

Сначала выберите UIBarButtonItem из библиотеки объектов. Затем перетащите в правый угол навигационной панели.

UIBarButtonItemNavigation bar

Ответ 4

У меня была аналогичная проблема.

Попробуйте изменить свой имитированный размер в Freeform. Свойство находится в разделе "Инспектор размеров".

Ответ 5

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