2012-07-23 119 views
1

可能重复:
How to create custom modal segue in 4.2 Xcode using storyboard编程方式推模式视图控制器

所以我有,我要推到我的当前视图控制器一个模态的viewController。这是我的故事板的截图,与我试图加载强调的观点: enter image description here

所以我创建了当前视图和第二导航控制器之间的SEGUE,让我们把它叫做“警报”。因为我没有SEGUE依赖于任何类型的按钮,我只是试图加载中的视图模态以下if语句:

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

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

回答

3

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

5

你可以使用一个SEGUE,但这里的另一种选择:

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

记得设置视图控制器的标识符在你的故事板。

更多信息及示例项目here

+2

在iOS 6之后,这已被弃用。这是建议的解决方案的更新版本。 [self presentViewController:second animated:YES completion:NULL]; – 2014-04-10 17:56:42

0

在故事板中,通过从视图控制器自身拖动到新视图控制器,从演示视频捕获视图控制器创建一个segue到新视图控制器。您可以通过将演示视频捕捉视图控制器下面的黑色条中的黄色按钮按住并拖动到新视图来执行此操作。当它询问哪一种选择modal。仍然在故事板中,单击segue,并在右侧的身份导航器中将其标识为“alert”。现在去你的.m文件,并使用这个实现...

if([detector judgeSpeed:[ratio floatValue]]) 
{ 
    [self performSegueWithIdentifier:@"alert" sender:self]; 
} 
1

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

T.J的回答是:

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]; 

tiguero的回答是:

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

任何这些答案的都应该回答这个问题为好。

相关问题