我的根视图控制器是一个带有3个标签的标签控制器。
选项卡A和B是标准视图控制器,C是导航控制器/视图控制器链。
我想popToRootViewController
(在这种情况下这是正确的方法吗?还是popToViewController
?)来自AppDelegate
的C标签。
我试过了
self.window.rootViewController.navigationController
但它什么都没有,可能是因为导航控制器只存在于一个标签中。
答案 0 :(得分:1)
如果rootViewController
是UITabBarController
,则rootViewController.navigationController
无法正常工作,因为您的标签栏没有导航控制器。
您想要做的是在视图控制器上使用popToRootViewController
,这是TabbarController的第三个选项卡。 (您必须确保此控制器是UINavigationController
)
这样的事情应该有效:
UITabBarController *tabbarController = (UITabBarController *) self.window.rootViewController;
UINavigationController *navController = tabbarController.viewControllers[2];
[navController popToRootViewController];