#ios #swift #navigation #viewcontroller
#iOS #swift #навигация #viewcontroller
Вопрос:
Вот как выглядит моя раскадровка:
Первый контроллер просмотра слева — это начальный VC, и он решает, к какому VC перейти, если вы вошли в систему или нет. Я не решил внедрить контроллер панели вкладок, чтобы иметь панель вкладок. Однако мне нужен навигационный контроллер, идущий к каждому VC, выходящему из панели вкладок.
Если я использую этот код для навигации, он показывает черный экран (он отлично работал до добавления контроллера панели вкладок).:
let mainNavController = storyboard?.instantiateViewController(identifier: Constants.Storyboard.mainNavController)
view.window?.rootViewController = mainNavController
view.window?.makeKeyAndVisible()
Если я использую этот код, все переходы отображаются модально:
let viewController = storyboard?.instantiateViewController(identifier: Constants.Storyboard.homeViewController) as? HomeViewController
view.window?.rootViewController = viewController
view.window?.makeKeyAndVisible()
И в качестве последнего средства я попытался перейти прямо к контроллеру панели вкладок, но затем я получил эту ошибку:
Раскадровка (<UIStoryboard: 0x600000e88840>) не содержит контроллера представления с идентификатором TabBarController
Итак, моя проблема в том, что я хочу программно перейти от контроллера представления к VCS с вкладками и использовать навигационный контроллер, чтобы все разделенные контроллеры представления не отображались модально.
(Я пробовал использовать отдельные навигационные контроллеры для каждого из VCS с вкладками, но это также показывает черный экран)
Это был оригинал с VCS с вкладками, имеющими отдельные контроллеры навигации:
И ошибка, которую я получил при попытке программно перейти к этому, была
Раскадровка (<UIStoryboard: 0x600000e88840>) не содержит контроллера представления с идентификатором TabBarController
Даже если это так
Комментарии:
1. В вашей раскадровке я вижу переход от
NavigationController
кUITabBarController
если вы пытаетесь поместитьUITabBarController
в стек NavigationController, который вы не можете, вы не можете встроить NavigationController вUITabBarController
2. Как я уже сказал в вопросе, я сказал, что это последнее средство, в скобках в конце объясняется, как у меня это было раньше