iOS:仅适用于iPhone的segue

时间:2015-02-21 15:56:07

标签: ios objective-c segue

有没有办法让show segue仅适用于iPhone?有些关闭在iPad上关闭?我在iPhone上显示segue并且它工作得很完美但在iPad上我使用的是UISplitVC和相同的VC。而现在,每当我在UISplitVC的左侧部分选择某些东西时,它就会变成segue而不是我的左UITableVC。

2 个答案:

答案 0 :(得分:0)

在“界面”构建器中为segue设置标识符,然后在视图控制器类中,您可以在方法中使用它,而不是在故事板中显示它。您可以通过单击视图控制器中的类按钮并在" Storyboard ID"中输入它来实现。如图所示。 Storyboard ID

如果你有一个按钮,你点击来呈现新视图,你可以将IBAction从故事板拖到你正在呈现它的视图控制器上。

-(IBAction)launchIphoneOnlyController (id)sender {
    if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ) {
        UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"identifier"];
        [self presentViewController:vc animated:true completion:nil];
    }
}

否则从您想要实例化视图的任何地方调用以下方法。

-(void)launchIphoneOnlyController {
    if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ) {
        UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"identifier"];
        [self presentViewController:vc animated:true completion:nil];
    }
}

答案 1 :(得分:0)

shouldPerformSegueWithIdentifier中检查序列,如果你进入故事板并查看iPhone的(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)

请参阅apple developer