所有选择区段之间有什么区别?

问题描述 投票:282回答:4
  • 节目
  • 查看详细
  • 目前模态
  • Popover演示文稿
  • 习惯

enter image description here

他们之间有什么区别?我找不到任何关于它的文件。曾经有一些我在Google搜索中找到的,但它现在已经消失了:https://developer.apple.com/library/ios/recipes/xcode_help-interface_builder/articles-storyboard/StoryboardSegue.html

ios ios8 xcode6 segue
4个回答
514
投票

以下是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的演示项目。


140
投票

为清楚起见,我想用这些GIF来说明@ Joey上面的答案:

节目

enter image description here

查看详细

enter image description here

目前模态

enter image description here

作为Popover呈现

enter image description here


22
投票

该文件似乎已移至此处:https://help.apple.com/xcode/mac/8.0/#/dev564169bb1

无法在此处复制图标,但以下是说明:

  • 显示:根据屏幕内容在详细信息或主区域中显示内容。 如果应用程序正在显示主视图和详细视图,则会将内容推送到详细信息区域。如果应用程序仅显示主数据或详细信息,则将内容推送到当前视图控制器堆栈的顶部。
  • 显示详细信息:在详细信息区域中显示内容。 如果应用程序显示主视图和详细视图,则新内容将替换当前详细信息。如果应用程序仅显示主数据或详细信息,则内容将替换当前视图控制器堆栈的顶部。
  • 模态呈现:以模态呈现内容。
  • 呈现为弹出窗口:将内容显示为锚定到现有视图的弹出窗口。
  • 自定义:使用自定义segue创建自己的行为。

0
投票

对于那些更喜欢更实用的学习的人,选择停靠栏​​中的segue,打开属性检查器并在不同类型的segue之间切换(下拉菜单“Kind”)。这将显示每个选项的特定选项:例如,您可以看到“存在模态”允许您选择转换类型等。

© www.soinside.com 2019 - 2024. All rights reserved.