如何跳转到iOS中的任何其他控制器?

时间:2014-10-10 15:46:11

标签: ios uinavigationcontroller uitabbarcontroller segue

我的故事板结构如下: enter image description here

A是导航控制器 B是标签栏控制器 C,D,E是视图控制器 F,G,H,I,J是视图控制器

如果现在我在我身边,并且按下按钮然后我会回到C.如何做到这一点? 我尝试在I和C之间制作segue,但C有一个后退按钮,你按下了它,你回到了我。 我不想那样。当我从I到C来的时候,我希望C是我第一次从B来到C。

如果我想从I转到H,我希望H有一个你按下的后退按钮,你回到F而不是我。

3 个答案:

答案 0 :(得分:3)

从I到C:执行popViewController两次,或者遍历navigationcontroller的viewcontrollers并找到C,弹出到C。

从H到I:以编程方式推送到I.在storyboard中为I设置故事板ID,您可以通过[storyboard instantiateViewControllerWithIdentifier:ID]创建一个I实例;

答案 1 :(得分:0)

我会设置viewControllers的{​​{1}}属性。

创建一个视觉控制器数组,就像你希望堆栈一样。示例:@ {C,F,I}或者在您的问题的情况下,您将使用@ {C}然后更新navigationController以包含这些视图。

UINavigationController

答案 2 :(得分:0)

如果您想要设置Segues的设置以外的其他内容,请确保为您的VC提供stoyboard ID like this

然后使用该故事板ID,您可以调用此代码来创建/显示;

-(IBAction)myButtonAction:(id)sender{
    RDLaunchOptionsTableViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"RDLaunchOptionsTableViewController"];
    vc.delegate = self;
    [self.navigationController pushViewController:vc animated:YES];
}

您不必使用导航控制器。只需使用[self presentViewController ....];