Одновременное переключение вкладок и сброс контроллеров представления Nav-Swift iOS
У меня есть tabBarController с 2 вкладками:
tab0, tab1
В tab0 у меня есть навигационный контроллер с 3 дочерними представлениями
viewA (root), viewB, viewC
нажатие кнопки в viewC приведет меня к tab1 с помощью кода
@IBAction func switchButtonTapped(sender: UIButton){
tabBarController.selectedIndex = 1
}
Проблема, с которой я сталкиваюсь, состоит в том, что, как только я переключаюсь на tab1, я не могу заставить tab0 вернуться к viewA (его корневой vc), он остается на viewC.
Как мне переключиться с tab0 на tab1 и одновременно сбросить представления в tab0?
Так как я одновременно переключаю вкладки и сбрасываю vcs контроллера Nav, это должно происходить в разных потоках?
@IBAction func switchButtonTapped(sender: UIButton){
tabBarController.selectedIndex = 1
dispatch_async(dispatch_get_main_queue(), {
self.navigationController?.popToRootViewController(animated:true)
}
}
1 ответ
Примечание: код Swift 3:
@IBAction func switchButtonTapped(sender: UIButton){
tabBarController?.selectedIndex = 1
navigationController?.popToRootViewController(animated: true)
}
Это прекрасно работает для меня (он выбирает вторую вкладку, и когда я нажимаю на кнопку первой вкладки, он показывает root -first- ViewController для первой вкладки).