iOS – 转到另一个选项卡的某个选项卡的第二个uiviewcontroller

我正在使用Storyboard开发iOS 5应用程序。

我有UITabBarController有3个选项卡。 每个选项卡都有自己的UINavigationController 。 第一个标签的UINavigationController有一个UITableViewController ,它inheritance了另一个UIViewController等。第二个标签的UINavigationController只有一个UIViewController

我想要实现的是在第二个选项卡的UIViewController中发生某些操作时,导航到UIViewController (第一个选项卡的UINavigationController的第二个视图)。

我已经尝试使用push segue完成此操作,但导航堆栈与不同选项卡的视图控制器混合(目标视图控制器中的后退button指向另一个选项卡的视图控制器)。

所以我想知道在不同标签的视图控制器之间完成这种转换的“正确方法”是什么。

任何帮助将非常感激。

您不能使用通知作为第一个标签的第一个viewController甚至可能不会被加载。

所以你可以做的一个方法是保存一个首选项(nsuserdefaults也许),然后切换到第一个选项卡,在第一个选项卡的第一个viewController检查这个首选项viewDidAppear或viewWillAppear,如果它设置,然后重置首选项(下次)和自动导航(推)到第二个viewController。

 BOOL shouldAutoPush=YES; [[NSUserDefaults standardUserDefaults] shouldAutoPush forKey:@"shouldAutoPush"]; [[NSUserDefaults standardUserDefaults] synchronize]; [self.tabBarController setSelectedIndex:0]; -(void)viewWillAppear:(BOOL)animated { if ( [[NSUserDefaults standardUserDefaults] objectForKey:@"shouldAutoPush"] ) { BOOL shouldAutoPush=NO; [[NSUserDefaults standardUserDefaults] shouldAutoPush forKey:@"shouldAutoPush"]; [[NSUserDefaults standardUserDefaults] synchronize]; [self.navigationController pushViewController:secondViewController animated:YES]; } }