同时切换选项卡和重置 Nav 的视图控制器-Swift iOS
Switch Tabs and Reset Nav's View Controllers at the same time-Swift iOS
我有一个带有 2 个选项卡的 tabBarController:
tab0, tab1
在 tab0 中,我有一个带有 3 个子视图的 navigationController
视图A(根)、视图B、视图C
在 viewC 中按下一个按钮将使用代码
将我带到 tab1
@IBAction func switchButtonTapped(sender: UIButton){
tabBarController.selectedIndex = 1
}
我遇到的问题是,一旦我切换到 tab1,我就无法让 tab0 重置回 viewA(它的根 vc),它停留在 viewC。
如何从 tab0 切换到 tab1 并同时重置 tab0 中的视图?
由于我同时切换选项卡和重置导航控制器的 vcs,这应该发生在不同的线程上吗?
@IBAction func switchButtonTapped(sender: UIButton){
tabBarController.selectedIndex = 1
dispatch_async(dispatch_get_main_queue(), {
self.navigationController?.popToRootViewController(animated:true)
}
}
注:Swift3码:
@IBAction func switchButtonTapped(sender: UIButton){
tabBarController?.selectedIndex = 1
navigationController?.popToRootViewController(animated: true)
}
这对我来说很好(它选择了第二个选项卡,当我点击第一个选项卡按钮时,它显示第一个选项卡的根 -first- ViewController)。
我有一个带有 2 个选项卡的 tabBarController:
tab0, tab1
在 tab0 中,我有一个带有 3 个子视图的 navigationController
视图A(根)、视图B、视图C
在 viewC 中按下一个按钮将使用代码
将我带到 tab1@IBAction func switchButtonTapped(sender: UIButton){
tabBarController.selectedIndex = 1
}
我遇到的问题是,一旦我切换到 tab1,我就无法让 tab0 重置回 viewA(它的根 vc),它停留在 viewC。
如何从 tab0 切换到 tab1 并同时重置 tab0 中的视图?
由于我同时切换选项卡和重置导航控制器的 vcs,这应该发生在不同的线程上吗?
@IBAction func switchButtonTapped(sender: UIButton){
tabBarController.selectedIndex = 1
dispatch_async(dispatch_get_main_queue(), {
self.navigationController?.popToRootViewController(animated:true)
}
}
注:Swift3码:
@IBAction func switchButtonTapped(sender: UIButton){
tabBarController?.selectedIndex = 1
navigationController?.popToRootViewController(animated: true)
}
这对我来说很好(它选择了第二个选项卡,当我点击第一个选项卡按钮时,它显示第一个选项卡的根 -first- ViewController)。