2014-09-17 2 views
19

Есть 2 View контроллеры в моем раскадровки, VC_A и VC_Bпанель навигации не выбирается в Show Segue, Xcode 6.1

Я поместить его навигационный контроллер в VC_A который является Table View Controller, Затем я управляю перетащить Prototype Cell в VC_B, чтобы создать segue. Если я выберу "show" в «select segue», то в VC_B Я вижу схему навигационной панели, но я не могу ее выбрать или добавлять к ней какие-либо кнопки, она также не отображается в иерархическом представлении.

view

Однако, если я выбираю "push (deprecated)" вариант при выборе типа Segue, я могу выбрать навигационную панель в VC_B и добавить кнопки к нему, также отображаются в иерархическом виде, как элемент навигации.

Единственная работа вокруг я могу найти, чтобы выбрать show, а затем изменить SEGUE к push(deprecated) в Attribute Inspector так Навигационный Деталь будет отображаться в иерархическом виде, а затем изменить SEGUE назад show. Но я беспокоюсь, что это может вызвать проблемы в будущем.

Есть ли способ добавить кнопку бара в VC_B Навигационная панель без использования работы?

+1

Выполнение этой же проблемы. У меня нет работы. Хотя вы можете начать с push (устарели), а затем перейти к показу. – dar512

ответ

3

В вашем ViewController:

self.navigationItem.title = "Second VC" 
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Play, target: self, action: "playFunction:") 

enter image description here

+0

Думаю, дело в том, что они хотят сохранить этот материал в раскадровке. – Daniel

12

Просто перетащите «Навигационная пункт» из библиотеки объектов в панели навигации, и он должен работать, как ожидалось. Вы можете внести изменения, как вам нравится, и это работает точно так же, как и в Xcode 5.

+0

Это, похоже, не работает для меня на Xcode 6.1.1. – Myxtic

+0

Это правильно. С классами размера элемент навигации не добавляется автоматически к контроллеру представления, даже если он поступает с контроллера, который является контроллером корневого контроллера навигационного контроллера. Я не думаю, что это ошибка. Указанный контроллер может быть или не быть представлен с навигационного контроллера (проверьте классы размеров). – Daniel

6

Интересно, что, когда вы первый раз сделал соединение B/W контроллера представления таблицы и контроллера представления с помощью Нажмите вы можете начать редактируя панель навигации без проблем (например, накладывайте на нее элементы бара).

Затем удалите соединение между контроллером представления таблицы и контроллером вида (но не удалять нав штриховые элементы, которые вы только что добавили), а затем повторно соединяют два контроллера с помощью SEGUE Показать, вы будете см. панель навигации работает так же, как segue Нажмите сейчас.

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

+0

Это хорошее решение, за исключением того, что вам не нужно ничего удалять, просто создайте '[Устаревший] Push' segue, а затем измените его на новый' Show'. –

6

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

Так все, что вам нужно сделать, это добавить пункт навигации к вашему View Controller и что будет делать трюк:

enter image description here

3

Это кажется Xcode ошибки.

В моем случае, я повторно создать SEGUE этой последовательности:

  1. Удалить существующий seque. (Я использую «Действие SEGUE - Показать»)
  2. Перетащите новый SEGUE с «Неадаптивными действиями Segue - Нажмите (устаревшее)»
  3. Удалить Segue NO.2
  4. Пересоздайте/подключение «Действие Seque - Показать". (№ 1)
  5. Совершено

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

Я использую Xcode 6.4 и минимальную целевую версию iOS 7.