как сделать sh просмотр контроллера после смены контроллера tabbar selectedIndex вместе - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть шесть контроллеров представления tabItem, каждый дочерний контроллер представления имеет собственный контроллер навигации. У меня проблема с pu sh нового контроллера вида после изменения selectedIndex. Я использовал AZTabBarController для создания переменной табуляции.

//the viewcontroller I want to push
let vc = self.storyboard?.instantiateViewController(withIdentifier: "CreateArticleViewController") as! CreateArticleViewController
//this can changing my tabbar selected index well.
self.currentTabBar?.setIndex(3, animated: true)
// Below code doesn't work
self.navigationController?.pushViewController(vc, animated: true)
self.currentnavigationController?.pushViewController(vc, animated: true)

tabcontroller -> Навигация 1 -> A1 -> A2

-> Навигация 2 -> B1 -> B2 -> B3 -> B4

-> Навигация 3 -> C1 -> C2 -> C3 -> C4

-> Навигация 4 -> D1 -> D2 -> D3 -> D4

-> Навигация 5 -> E1 -> E2 -> E3

-> Навигация 6 -> F1 -> F2 -> F3

Например, когда я нажимаю кнопку в A1, как мне изменить индекс и pu sh вид контроллера на D3? Должен ли я использовать настроить делегата, чтобы сделать этот трюк? Пожалуйста, смотрите снимок для моей раскадровки. https://imgur.com/a/X860m7p

1 Ответ

0 голосов
/ 01 апреля 2020

Когда вы изменяете selectedIndex, навигация, которую вы вводите для sh, предназначена для A, а не для нового D, поэтому вам нужно

self.currentTabBar!.setIndex(3, animated: true) 
let dNav = self.currentTabBar!.viewControllers[3] as! UINavigationController
dNav.pushViewController(vc, animated: true) 
...