0

Не просите меня показать код, потому что кода нет. Все сделано в раскадровке.Проблема с UINavigationController внутри UITabBarController внутри другого UINavigationController

Мое приложение начинается с основного контроллера навигации, который имеет контроллер входа в систему в качестве своего контроллера корневого представления. У контроллера входа в систему есть кнопка. Когда кнопка нажата, вызывается контроллер панели вкладок. Контроллер панели вкладок имеет 4 элемента. Каждый элемент является вторичным навигационным контроллером, поддерживающим собственный стек контроллеров. Таким образом, в основном структура: main UINavigationController -> контроллер входа в систему ->UITabBarController -> вторичный UINavigationController -> массив контроллеров.

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

Конечно, я могу сделать обходной путь. Если я скрою навигационную панель главного навигационного контроллера, то мне будет предложена панель навигации контроллера навигационной системы, которая мне нужна. Но я чувствую, что это не правильное решение. Я чувствую, что должен быть правильный. Что вы думаете, ребята?

ответ

1

я бы не рекомендовал использовать UINavigationController чтобы непосредственно перейти от вашего входа в свой главный UITabBarController ... лично я предпочитаю иметь различный rootViewController основного UIWindow в качестве входа или представляя логин модально (без анимации) ... это имеет больше смысла, поскольку вы не ожидаете, что пользователь «перейдет обратно» на экран входа в систему, но скорее использует контекст выхода и переключения.

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