【问题标题】:How do i set a modal segue (programmatically) to a push segue我如何将模态转场(以编程方式)设置为推送转场
【发布时间】:2013-03-16 07:12:07
【问题描述】:
我的故事板中有一个导航控制器,但出于一个原因,我必须以编程方式制作一个 segue,但我如何以编程方式制作推送 segue?
这是我目前的代码:
- (IBAction)nextviewButton:(id)sender {
HolesViewController *Holes = [self.storyboard instantiateViewControllerWithIdentifier:@"HolesViewController"];
Holes.nameString = self.NameField.text;
[self presentViewController:Holes animated:YES completion:nil];
}
【问题讨论】:
标签:
xcode
ios6
uinavigationcontroller
xcode4.5
pushviewcontroller
【解决方案1】:
另外,我实际上更喜欢在我的故事板中定义一个 segue,但不是源自按钮,而是源自视图控制器本身,例如:
然后,给该 segue 一个“storyboard id”,说“详细信息”,然后您可以通过以下方式以编程方式调用该 segue:
[self performSegueWithIdentifier:@"Details" sender: ...]; // you can specify either the button or `self` for the `sender
我喜欢这样,因为这样,故事板继续在视觉上代表应用程序的流程(而不是可能有没有转场的场景漂浮在那里)。您可以对 push 和 modal segues 使用完全相同的结构(并且呈现下一个视图控制器的视图控制器并不关心情节提要使用哪一个)。
【解决方案2】:
[self.navigationController pushViewController:Holes animated:YES];
知道了