UITabBarController 子视图控制器重置 -Swift2 iOS

UITabBarController child view controller reset -Swift2 iOS

我有一个带有 2 个选项卡的 tabBarController:tabZero 和 tabOne。

tabZero 包含一个 navController 和 2 个子视图控制器。 viewControllerRed 是导航的根,它有一个按下 viewControllerBlue 的按钮。

viewControllerBlue 有一个按钮:buttonPressed。当 buttonPressed 被点击时,标签索引通过 self.tabBarController.selectedIndex 1

切换到 tabOne

我的问题是在切换之后,如果我按下 tabZero,viewControllerBlue 仍然显示。在按下 viewControllerBlue 中的 buttonPressed 后如何重置导航的根 vc (viewControllerRed)?

我不能使用 popToRootViewController 因为有 2 个转换同时发生。第一个是我正在更改 tabBar 索引,另一个是我重置根 vc。我需要在后台进行重置。

您可以在没有动画的情况下延迟执行弹出功能。

[self.navigationController performSelector:@selector(popToRootViewController) withObject:nil afterDelay:1];

Poptorootviewcontroller with delay