2016-11-09 5 views
1

Я только что встроил мой UINavigationController в UITabBarController. Я больше не могу видеть название или кнопку редактирования. Пожалуйста, смотрите раскадровку ниже. Как сделать кнопку редактирования видимой снова?Кнопка редактирования внутри UITabBarController и UINavigationController

Моей Раскадровка: My Storyboard

ответ

1

Вместо того, следующие организации (которые вы используете):

NavController -> TabBarController -> ViewControllerA 
            \ 
            -> ViewControllerB 

Вы должны сделать следующее:

TabBarController -> NavControllerA -> ViewControllerA 
       \ 
        -> NavControllerB -> ViewControllerB 

UITabBarController s должен всегда быть корневым представлением. Каждому контроллеру детского представления нужен свой собственный контроллер навигации, чтобы добиться желаемого эффекта панели навигации + панели вкладок. Вот пример того, что структура должна выглядеть следующим образом:

Storyboard laid out with TabBarController at the root.

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

Navigation Item in the Object Library

+0

Когда я был первым узнать, как встроить в UITabBarController, мне сказали, что я должен был иметь NavController перед домом. См. Http://stackoverflow.com/q/40509479/7100251 – Allie

+0

Это может сработать в некоторых случаях, но в итоге вы столкнетесь с странными ошибками (например, с теми, с которыми вы сталкиваетесь). UINavigationControllers предназначены для интеграции в UITabBarControllers, а не наоборот. Здесь есть аналогичный вопрос и ответ: http://stackoverflow.com/questions/27422054/how-to-implement-tab-bar-controller-with-navigation-controller-in-right-way – Mark

+0

Я пробовал этот подход, но он только отрезал больше от верхней части моих контроллеров. – Allie

Смежные вопросы