1

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

Этот навигационный контроллер будет иметь информационную кнопку в правом верхнем углу, которая будет переходить в тот же режим независимо от того, какой вид пользователя включен (VC 1/2/3).

Вот что я поставил в раскадровке до сих пор:

Need to have the Red nav bar accessible on ALL the tabs. Проблема: «Первый ВК» Красный Nav бар только доступны через

Что мне нужно: Мне нужно, чтобы красная панель навигации была доступна через ВСЕ виды вкладок. (Первый VC/VC 1/VC 2/VC 3).

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

Каков наилучший подход к использованию ОДНОЙ панели навигации, доступной через ВСЕ Вкладки.

Спасибо.

+1

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

+0

@JohnD. Я могу жить с 3 Nav Bars на каждом VC. Но как насчет кнопки (i), которая всегда должна ссылаться на одно и то же представление независимо от того, на каком VC вы находитесь? (Это будет представление настроек приложения.) – Joe

ответ

2

Это решение. То, что я закончил, - это внедрение EACH VC, в котором есть элемент панели вкладок в своем собственном контроллере навигации (в моем исходном сообщении это Green VC 2/Blue VC 3/Tan VC 4). Как отметил @JohnD в своем комментарии, это дает мне большую гибкость при настройке панели Nav для каждой вкладки.

Что касается моей кнопки: В каждой из навигационных полос есть кнопка настроек. Вместо того, чтобы загромождать основную раскадровку с несколькими сегментами в настройках VC, я создал новую раскадровку. Внутри этой раскадровки у меня есть контроллер просмотра настроек со всеми функциональными возможностями и необходимыми параметрами. Кнопки создают экземпляр нового VC с кодом, как видно из этой статьи: How to push and present to UIViewController programmatically without segue in iOS Swift 3

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