他们之间有什么区别?我找不到任何关于它的文件。曾经有一些我在Google搜索中找到的,但它现在已经消失了:https://developer.apple.com/library/ios/recipes/xcode_help-interface_builder/articles-storyboard/StoryboardSegue.html
以下是segue的快速摘要以及每种类型的示例。
显示 - 将目标视图控制器推到导航堆栈上,从右向左滑动,提供返回按钮以返回到源 - 或者如果未嵌入导航控制器,它将以模态方式显示 示例:在Mail中导航收件箱/文件夹
显示详细信息 - 用于拆分视图控制器时,在扩展的2列接口中替换详细/辅助视图控制器,否则如果折叠为1列,则将推入导航控制器 示例:在消息中,点击对话将显示对话详细信息 - 在两列布局中替换右侧的视图控制器,或在单列布局中推送对话
呈现模式 - 呈现由Presentation选项定义的各种动画时尚的视图控制器,覆盖前一个视图控制器 - 最常用于呈现从底部动画并覆盖iPhone上的整个屏幕的视图控制器,或者在iPad上它常见的是将其呈现为居中的框,使呈现视图控制器变暗 示例:在“设置”中选择“触摸ID和密码”
Popover演示文稿 - 在iPad上运行时,目标显示在弹出窗口中,点击此弹出框外的任何位置都会忽略它,或者也支持iPhone弹出窗口,但默认情况下它会在整个屏幕上以模态方式显示目标 示例:点击日历中的+按钮
自定义 - 您可以实现自己的自定义segue并控制其行为
不推荐的segues本质上是上述那些的非自适应等价物。这些segue类型在iOS 8中已弃用:Push,Modal,Popover,Replace。
有关更多信息,您可以阅读Using Segues documentation,它还解释了segue的类型以及如何在Storyboard中使用它们。另请参阅2014年WWDC会议216 Building Adaptive Apps with UIKit。他们讨论了如何使用这些新的Adaptive Segues构建自适应应用程序,并且他们构建了一个利用这些segue的演示项目。
该文件似乎已移至此处:https://help.apple.com/xcode/mac/8.0/#/dev564169bb1
无法在此处复制图标,但以下是说明:
- 显示:根据屏幕内容在详细信息或主区域中显示内容。 如果应用程序正在显示主视图和详细视图,则会将内容推送到详细信息区域。如果应用程序仅显示主数据或详细信息,则将内容推送到当前视图控制器堆栈的顶部。
- 显示详细信息:在详细信息区域中显示内容。 如果应用程序显示主视图和详细视图,则新内容将替换当前详细信息。如果应用程序仅显示主数据或详细信息,则内容将替换当前视图控制器堆栈的顶部。
- 模态呈现:以模态呈现内容。
- 呈现为弹出窗口:将内容显示为锚定到现有视图的弹出窗口。
- 自定义:使用自定义segue创建自己的行为。
对于那些更喜欢更实用的学习的人,选择停靠栏中的segue,打开属性检查器并在不同类型的segue之间切换(下拉菜单“Kind”)。这将显示每个选项的特定选项:例如,您可以看到“存在模态”允许您选择转换类型等。