ios - Swift - 三个 UIViewController 之间的自定义 Segues

标签 ios xcode swift uiviewcontroller segue

我在我的应用程序中使用带有动画过渡的自定义转场。我对三个 UIViewController 之间的导航有疑问。假设我们在 Storyboard 中有这样的结构。

here it is .

在文字中我们这样使用它:

  1. 单击Main[To Scene 1] 调用Custom Segue 并转到Scene 1
  2. 单击Scene1[To Main] 调用Unwind Segue 并转到Main
  3. 单击 Main[To Scene 2] 调用另一个 Custom Segue 并转到Scene 2
  4. 单击Scene2[到场景 1] 调用另一个自定义 Segue 并转到场景 1

问题来了

  1. 我们点击 Scene1[To Main] 并调用 Unwind Segue 并转到Scene 2 而不是 Main (对于这个架构没问题,但这不是我想要的行为)

那么问题是如何实现这样的行为呢?

将一个额外的 Segue 从 Scene1[To Main] 放到 Main 并检查它来自哪个 ViewController,然后调用这个 Segue(对于 VC Scene2) 或 Unwind(对于 VC Main)?

或者有更优雅的方式来做到这一点?

最佳答案

1. 为什么不将初始 View Controller 嵌入到导航 Controller 中...并为您节省 segues...您只需按“后退”按钮即可..

转到您的 Storyboard...单击您的主视图 Controller ,选择编辑器,转到“嵌入”并选择导航 Controller 。

  1. 如果您没有导航栏...并且如果 unwind segue 给您带来了一些问题,只需从您的场景 1 创建另一个 segue,回到您的主场景,然后在您的 Scene One 上调用该 segue “到主”按钮。

并确保你的两个 unwind segues 没有完全相同的名字..

关于ios - Swift - 三个 UIViewController 之间的自定义 Segues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494089/

相关文章:

objective-c - Interface Builder 有没有办法渲染不覆盖 drawRect : 的 IBDesignable View

ios - 如何在字符串上创建超链接并在 Facebook 中分享 [iOS]

ios - 我创建了一个字符串扩展以在 swift 2.0 中将字符串与空格连接起来,但它在 swift 2.1 xcode 7 中不起作用

ios - 如何使用文本字段和按钮将文本添加到每个单元格中?

ios - 为什么我无法访问文件夹(而不是组)中的文件?

ios - 从 libBacktraceRecording.dylib 连续分配 500kb

ios - Klazuka/Kal 合并问题

objective-c - Objective-C : Background & Frame Issue During Orientation Change

ios - Facebook 好友的 ID 无效

arrays - 二维数组,其中每个元素都是类元素