Есть 5 вкладок, и первые 2 из них должны открыть тот же V C, который будет встроен в контроллер навигации. Все ВК находятся в раскадровке. В зависимости от того, какие из этих 2 нажаты, мне нужно передать значение (думаю, я смогу это выяснить), которое изменит некоторые компоненты пользовательского интерфейса этого V C.
Что у меня есть до сих пор это:
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
let indexOfTab = tabBar.items?.firstIndex(of: item)
switch indexOfTab {
case 1:
// Open 1st VC with 'x' UI components
case 2:
// Open 1st VC with 'y' UI components
}
Таким образом, я могу без проблем открывать вкладки с 3 по 5, но первые 2 не работают должным образом, поскольку они встроены в контроллер навигации.
Ожидаемый результат : Индекс вкладки 1, за которым следует индекс 2 вкладки (или наоборот), должен открыть 2-й V C (или 1-й в зависимости от обстоятельств) как root контроллер представления
Фактический результат: нажатие Индекс 1, за которым следует индекс 2 вкладки (или наоборот), открывает индекс 1 вкладки как контроллер представления root и нажимает индекс 2 вкладки.
Как получить ожидаемый результат?
РЕДАКТИРОВАТЬ: Я думаю, я знаю, почему это происходит. Это потому, что я перешел к V C для этих 2 VC в раскадровке, а затем программно пытаюсь открыть их. Есть ли способ сделать это в сочетании раскадровки и программирования c или мне нужно программно реорганизовать всю панель вкладок?