你如何从一个故事板转到另一个故事板?不能在故事板中查看

Onk*_*nka 2 iphone xcode objective-c storyboard ios

嗨,我已经创建了两个故事板文件,我不知道如何在它们之间切换.为了在一个故事板内切换,我设置了标识符并使​​用以下代码:

[self performSegueWithIdentifier:@"identifier" sender:self];
Run Code Online (Sandbox Code Playgroud)

当用于切换故事板时,此代码会崩溃应用程序.

请帮忙

rob*_*off 10

更新了iOS 9.0的答案

您可以使用故事板中的故事板引用将segue的目标设置为另一个故事板中的视图控制器.将故事板引用从对象库拖动到源故事板.使用目标故事板的名称和该故事板中的目标视图控制器的标识符对其进行配置.然后,您可以将引用用作源故事板中segue的目标.

有关详细信息,请参阅Storyboard帮助中的 "添加对另一个故事板的引用".

原始答案

看一下UIStoryboard类参考.

您可以使用名称加载故事板+[UIStoryboard storyboardWithName:bundle:].一旦你的故事板对象,你可以通过发送实例化视图控制器中的一个instantiateInitialViewControllerinstantiateViewControllerWithIdentifier:.然后,您可以使用该视图控制器执行任何操作:以模态方式呈现它,将其推送到导航控制器,将其添加到选项卡栏控制器等.

您无法在不同故事板中的场景之间创建segue,因此您无法使用performSegueWithIdentifier:sender:从一个故事板中的场景转换到另一个故事板中的场景.


Onk*_*nka 7

我找到了自己问题的答案!

这是我的问题的代码:

-(void)viewDidLoad {

    if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
        CGSize result = [[UIScreen mainScreen] bounds].size;

        if(result.height == 480){}
        if(result.height == 568){[self performSelector:@selector(inch4) withObject:nil afterDelay:0];}}}



-(void)inch4 {

    UIStoryboard *storyBoard;

    storyBoard = [UIStoryboard storyboardWithName:@"iPhone4inch" bundle:nil];
    UINavigationController *init4inchViewController = [storyBoard instantiateViewControllerWithIdentifier:@"MainMenu4inch"];
    [self presentModalViewController:init4inchViewController animated:NO];

}
Run Code Online (Sandbox Code Playgroud)

这是切换故事板文件的代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"storyboard2" bundle:nil];
[self presentModalViewController:[storyboard instantiateViewControllerWithIdentifier:@"storyboard2initialviewcontroller"] animated:NO];
Run Code Online (Sandbox Code Playgroud)