手动使用 Segue

Posted

技术标签:

【中文标题】手动使用 Segue【英文标题】:Using Segue Manually 【发布时间】:2012-10-03 22:24:27 【问题描述】:

我需要从同一个按钮创建两个 Segue,然后我想根据设备方向以编程方式选择使用哪一个。我遇到的问题是,您似乎只能从一个按钮创建一个转场到另一个视图,所以当我添加第二个时,它只会更改第一个。

您如何添加未链接到按钮等的 segue,以便我可以通过编程方式进行操作,或者您应该如何执行此操作。我希望有两个基于方向动态选择的视图,而不是在旋转时通过代码移动基于对象的对象,因为有很多对象和自定义的东西,这将使拥有两个视图变得更加简单。

【问题讨论】:

【参考方案1】:

您必须手动触发 segue。将按钮连接到一个方法,然后制作两个 segue,一个从每个视图控制器到故事板中的另一个,然后在 IB 中给它一个标识符,然后在你的方法中你可以调用“performSegueWithIdentifier:”。

其他信息

要进行手动转场,从 IB 中的视图控制器对象按住 control 单击到另一个视图控制器,该框将弹出为“手动转场”。只要确保它有一个标识符。

【讨论】:

我尝试按照建议的方式添加第二个 segue。我没有弹出“手动转场”。这个答案仍然是最新的吗?【参考方案2】:

我认为您可以让按钮触发 IBAction,您可以在其中根据方向做出选择,然后以编程方式触发适当的 segue。

【讨论】:

我的问题是如何创建转场

以上是关于手动使用 Segue的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 如何在通过手动 Segue 链接的两个视图控制器之间传递信息?

手动模态segue不起作用,View Controller不在窗口层次结构中?

在自身内添加导航栏

如何在 iOS 应用程序中手动设置“返回”目的地

如何以编程方式执行Unwind segue?

手动和非自适应手动 Segues