1

可能重复:
如何使用情节提要在 4.2 Xcode 中创建自定义模态序列

所以我有一个视图控制器,我想以模态方式推送到我当前的视图控制器上。这是我的故事板的屏幕截图,我试图加载的视图突出显示: 在此处输入图像描述

所以我在当前视图和第二个导航控制器之间创建了一个 segue,我们称之为“警报”。因为我没有将 segue 绑定到任何类型的按钮,所以我只是尝试在以下 if 语句中以模态方式加载视图:

if([detector judgeSpeed:[ratio floatValue]])
{
    //push the new view here
}

我该怎么做?我是否需要实现某种委托或 prepareForSegue 方法?

4

4 回答 4

5

您可以使用 segue,但这是另一种选择:

SomeViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"SomeIdentifier"];
[self.navigationController presentModalViewController:controller animated:YES]

请记住在情节提要中设置视图控制器的标识符。

更多信息和示例项目在这里

于 2012-07-23T23:17:17.197 回答
3

presentModalViewController是 iOS 6 的代码,但我需要 iOS 9 的代码。有人可以帮忙吗?

于 2012-07-23T23:01:04.613 回答
1

答案是关于How to create custom modal segue in 4.2 Xcode using storyboard应该有所帮助。

TJ的回答:

UIViewController *src = (UIViewController *) self.sourceViewController;
[UIView transitionWithView:src.navigationController.view duration:0.5
                   options:UIViewAnimationOptionTransitionFlipFromTop
                animations:^{
                    [src.navigationController popToViewController:[src.navigationController.viewControllers objectAtIndex:0] animated:NO];;
                }
                completion:NULL];

蒂格罗的回答:

[self.sourceViewController presentModalViewController:self.destinationViewController animated:NO];

这些答案中的任何一个也应该回答这个问题。

于 2012-07-23T23:25:10.663 回答
0

在情节提要中,通过从视图控制器本身 ctrl 拖动到新视图控制器,创建从演示视频捕获视图控制器到新视图控制器的 segue。您可以通过 ctrl 从 Demo Video Capture View Controller 下方黑色条中的黄色按钮拖动到新视图来执行此操作。当它询问哪种选择时modal。仍在情节提要中,单击 segue 并在右侧的身份导航器中将其标识为“警报”。现在转到您的 .m 文件并使用此实现...

if([detector judgeSpeed:[ratio floatValue]])
{
   [self performSegueWithIdentifier:@"alert" sender:self];
}
于 2012-07-23T23:17:36.697 回答