UIStoryboardSegue - performSegue 方法传递类而不是标识符

Posted

技术标签:

【中文标题】UIStoryboardSegue - performSegue 方法传递类而不是标识符【英文标题】:UIStoryboardSegue - performSegue method passing the class rather than identifier 【发布时间】:2013-03-22 10:12:04 【问题描述】:

我正在尝试以编程方式执行 segue(因为显然 segue 操作和 IB 操作不能很好地协同工作)。因此,我设置了一个 IBAction 来做一些事情,然后发送 performSegue 方法。我能找到的唯一 performSegue* 方法是“performSegueWithIdentifier:”,这不是我需要的,因为我有一个自定义 segue,它是 UIStoryboardSegue 的子类。

有没有办法以编程方式将类作为 segue 传递(例如在 IB 中,您可以将类设置为 segue 而不是标识符)?

【问题讨论】:

你是什么意思“通过一个类作为一个segue”? 【参考方案1】:

您可以通过手动触发转场来实现这一点。选择文件所有者并为手动触发的 segue 提供标识符。然后你也可以在prepare for segue方法中传递任何你喜欢的东西。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
    if ([segue.identifier isEqualToString:@"ChooseAPlayer"]) 
        chooseplayer = [segue destinationViewController];
        chooseplayer.serviceReceiver = ForNextScreen;
    

【讨论】:

以上是关于UIStoryboardSegue - performSegue 方法传递类而不是标识符的主要内容,如果未能解决你的问题,请参考以下文章

使用自定义动画删除自定义 UIStoryboardSegue

如何“取消” UIStoryBoardSegue

UIStoryboardSegue:动画期间不显示视图

UIStoryBoardSegue 方法的 iOS Swift 问题

UIStoryboardSegue:顶视图没有向下滑动

UIStoryBoardSegue 过渡 - 状态栏问题