2016-07-17 5 views
0

У меня есть UINavigationController в моей раскадровке, и когда я иду добавлять дополнительные UIViewControllers, они, похоже, не наследуют навигационную панель. Затем я добавляю элемент управления навигационной панелью, но он не соответствует стандартным по умолчанию в его родительском элементе - это высота отличается и не находится под значком аккумулятора.UINavigationController и Grandchild Views XCode 7.3.1

Я чувствую, что мне не хватает чего-то простого для моего рабочего процесса.

Редактировать: Я забыл упомянуть, что использую настоящий Модифицированный переход. Если я использую Show (например, Push), он дает мне панель навигации. Я бы предпочел использовать Present Modally и иметь панель навигации, чтобы я мог отображать кнопки Save/Cancel. Но я хочу, чтобы панель выглядела точно так же, как панель навигации своего родителя.

Edit 2: Добавлен скриншот, чтобы показать проблему enter image description here

ответ

0

Вы должны поместить представленный контроллер представления в своем навигационном контроллере. Контроллеры просмотра могут совместно использовать контроллер навигации, когда вы нажимаете дополнительные контроллеры представлений на существующий контроллер навигации. При представлении модально навигационный контроллер не используется совместно. Это модно представить модально - добавить новый стек.

+0

Полезно знать о дополнительных навигационных контроллерах. Знаете ли вы, как я могу получить дополнительную навигационную панель, которую я добавил в мой Modal, чтобы сделать ее высоту такой же высокой, как родительский контроллер? Я бы предпочел свести к минимуму количество досок объявлений, учитывая, что навигационные контроллеры поставляются с двумя экранами. Имеет ли это смысл? – dohpaz42

+1

Не добавляйте навигационную панель. Просто поставьте контроллер вида в свой собственный контроллер навигации и представите новый контроллер навигации. – rmaddy