Xcode 如何将模式序列(以编程方式)设置为推送序列

Xcode 如何将模式序列(以编程方式)设置为推送序列,xcode,ios6,uinavigationcontroller,xcode4.5,pushviewcontroller,Xcode,Ios6,Uinavigationcontroller,Xcode4.5,Pushviewcontroller,我的故事板中有一个导航控制器,但出于一个原因,我必须以编程方式创建一个segue,但是如何以编程方式创建一个push segue呢 这是我目前的代码: - (IBAction)nextviewButton:(id)sender { HolesViewController *Holes = [self.storyboard instantiateViewControllerWithIdentifier:@"HolesViewController"]; Holes.nameStrin

我的故事板中有一个导航控制器,但出于一个原因,我必须以编程方式创建一个segue,但是如何以编程方式创建一个push segue呢

这是我目前的代码:

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

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

明白了

或者,我实际上更喜欢在我的故事板中定义一个序列,但不是从按钮开始,而是从视图控制器本身开始,例如:

然后,给该segue一个“故事板id”,说“详细信息”,然后您可以通过以下方式以编程方式调用该segue:

[self performSegueWithIdentifier:@"Details" sender: ...]; // you can specify either the button or `self` for the `sender
我喜欢这样,因为这样,故事板就可以继续直观地表示应用程序的流程(而不是让场景漂浮在那里而没有分段)。您可以对推送和模式序列使用完全相同的构造(并且呈现下一个视图控制器的视图控制器不关心故事板使用哪一个)

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