【问题标题】:What's the difference between all the Selection Segues?所有选择赛格之间有什么区别?
【发布时间】:2014-11-15 22:55:04
【问题描述】:
  • 显示
  • 显示详细信息
  • 模态呈现
  • 弹窗演示
  • 自定义

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

【问题讨论】:

标签: ios ios8 xcode6 segue


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    显示

    显示详情

    模态呈现

    呈现为弹出框

    【讨论】:

    • 这是一种出色的视觉表现,但需要更正一点:Show Detail segue 的作用类似于 iPhone 上的模态 segue,而不是此处所示的“显示”segue 行为。
    • 优秀的答案。谢谢!
    【解决方案3】:

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

    此处无法复制图标,但这里是描述:

    • 显示:根据屏幕内容在细节或主区域中显示内容。

      如果应用正在显示主视图和详细视图,则内容将被推送到详细信息区域。如果应用只显示主视图或详细信息,则内容将被推送到当前视图控制器堆栈的顶部。

    • 显示详情:在详情区展示内容。

      如果应用正在显示主视图和详细视图,则新内容将替换当前详细信息。如果应用只显示主视图或细节,则内容将替换当前视图控制器堆栈的顶部。

    • 模态呈现:模态呈现内容。

    • 呈现为弹出框:将内容呈现为锚定到现有视图的弹出框。

    • 自定义:使用自定义转场创建自己的行为。

    【讨论】:

      【解决方案4】:

      这里是对 segues 的快速总结以及每种类型的示例。

      显示 - 将目标视图控制器推送到导航堆栈上,从右向左滑动,提供返回按钮以返回源 - 或者如果未嵌入导航控制器中,它将是以模态方式呈现
      示例:在邮件中导航收件箱/文件夹

      显示细节 - 用于拆分视图控制器,在展开的 2 列界面中替换细节/辅助视图控制器,否则如果折叠到 1 列,它将推入导航控制器示例: 在消息中,点击对话将显示对话详细信息 - 在两列布局中替换右侧的视图控制器,或在单列布局中推送对话

      模态呈现 - 以 Presentation 选项定义的各种动画方式呈现视图控制器,覆盖之前的视图控制器 - 最常用于呈现从底部向上动画并覆盖的视图控制器在 iPhone 或 iPad 上的整个屏幕上,通常将其呈现为一个居中的框,使呈现的视图控制器变暗
      示例:在设置中选择 Touch ID 和密码

      Popover Presentation - 在 iPad 上运行时,目标会出现在一个弹出窗口中,点击此弹出窗口之外的任何地方都会将其关闭,或者在 iPhone 上也支持弹出窗口,但默认情况下会显示全屏显示目的地
      示例:点击日历中的 + 按钮

      自定义 - 您可以实现自己的自定义 segue 并控制其行为

      不推荐使用的segues本质上是上述那些的非自适应等价物。这些 segue 类型在 iOS 8 中已被弃用:Push、Modal、Popover、Replace。

      有关更多信息,您可以阅读Using Segues documentation,其中还解释了 segue 的类型以及如何在 Storyboard 中使用它们。另请查看 WWDC 2014 的 Session 216 Building Adaptive Apps with UIKit。他们讨论了如何使用这些新的 Adaptive Segues 构建自适应应用程序,并且他们构建了一个利用这些 segues 的演示项目。

      【讨论】:

      • 你能定义 Push 和 Show segues 之间的区别吗?
      • @Gautham Push 是 Show 已取代的非自适应且已弃用的序列。
      • 谢谢@Joey。我理解了。我还有一个问题要问你。我可以看到 Show 在 Size 类的上下文中是自适应的。你认为我在这里遗漏了什么吗?
      • @Gautham 抱歉,我不明白问题是什么。是的,显示是自适应的,而推送不是。
      • @Joey 作为 ios 开发的新手,我想说谢谢你说清楚。 1).但是show/modal segue有什么区别?我的意思是,如果您将自己的自定义后退按钮添加到显示为模态的 VC。 2.) 如果我想重置导航堆栈,我应该使用什么类型的 segue?例如。用户单击帐户,然后被带到他们在应用程序中的帐户页面。然后帐户页面应该显示一个汉堡包图标/菜单,而不是指向上一个 VC 的后退箭头?
      猜你喜欢
      • 2012-02-09
      • 1970-01-01
      • 2014-06-04
      • 2010-09-21
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      • 2017-08-22
      • 2012-11-14
      相关资源
      最近更新 更多