如何设置模式segue(以编程方式)到push segue

时间:2013-03-26 13:12:35

标签: xcode ios6 uinavigationcontroller xcode4.5 pushviewcontroller

我的故事板中有一个导航控制器,但由于一个原因,我必须以编程方式制作一个segue,但我如何以编程方式制作推送segue?

到目前为止,这是我的代码:

- (IBAction)nextviewButton:(id)sender {
    HolesViewController *Holes = [self.storyboard instantiateViewControllerWithIdentifier:@"HolesViewController"];
    Holes.nameString = self.NameField.text;

    [self presentViewController:Holes animated:YES completion:nil];
}

2 个答案:

答案 0 :(得分:14)

或者,我实际上更喜欢在故事板中定义一个segue,而不是来自按钮,我让它来自视图控制器本身,例如:

create segue

然后,给那个segue一个“故事板id”,说“Details”,然后你可以通过以下方式以编程方式调用segue:

[self performSegueWithIdentifier:@"Details" sender: ...]; // you can specify either the button or `self` for the `sender

我喜欢这个,因为这样,故事板继续直观地表示应用程序的流程(而不是可能有没有segue的场景浮动)。并且你可以对push和modal segue使用完全相同的构造(并且呈现下一个视图控制器的视图控制器不关心故事板使用哪个)。

答案 1 :(得分:4)

[self.navigationController pushViewController:Holes animated:YES];

搞定了