我的 Storyboard中有一个导航 Controller ,但出于一个原因,我必须以编程方式制作一个转场,但是我如何以编程方式制作一个插入转场?
到目前为止,这是我的代码:
- (IBAction)nextviewButton:(id)sender {
HolesViewController *Holes = [self.storyboard instantiateViewControllerWithIdentifier:@"HolesViewController"];
Holes.nameString = self.NameField.text;
[self presentViewController:Holes animated:YES completion:nil];
}
最佳答案
或者,我实际上更喜欢在我的 Storyboard中定义一个 segue,但不是源自按钮,而是源自 View Controller 本身,例如:
然后,给该 segue 一个“ Storyboard id”,说“详细信息”,然后您可以通过以下方式以编程方式调用该 segue:
[self performSegueWithIdentifier:@"Details" sender: ...]; // you can specify either the button or `self` for the `sender
我喜欢这样,因为这样, Storyboard继续在视觉上代表应用程序的流程(而不是可能有场景漂浮在那里而没有转场)。并且您可以对推送和模式转场使用完全相同的构造(并且呈现下一个 View Controller 的 View Controller 不关心 Storyboard使用哪个)。
关于xcode - 我如何将模态转场(以编程方式)设置为推送转场,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15637945/