我有一个有四个标签的iPhone应用程序。在选项卡1上有一个UINavigationController。用户可以在视图堆栈上深入三层。
假设用户转到导航标签1的第2级,然后切换到标签3.是否有任何方法可以创建用户可以按下的按钮,然后在标签1上弹出导航控制器(在后面场景)虽然他们仍然在Tab 3?那么当再次触摸Tab 1时它们将处于根级别?
我不希望它在根级别每次触摸Tab 1时,只有当他们触摸Tab 3上的那个按钮时它才会将Tab 1弹出到根级别。
答案 0 :(得分:1)
只要您对任何有效对象有引用,就可以向其发送消息。如果您的app委托拥有UITabBarController并且UITabBarController中的每个视图控制器都是UINavigationController,那么您可以在应用程序的任何位置执行以下操作:
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication].delegate;
UINavigationController *navController = [appDelegate.tabBarController.viewControllers objectAtIndex:indexOfNavController];
[navController popToRootViewController:NO]; // animation not needed but could be YES