Xcode 6.4 中已弃用的 segue

Posted

技术标签:

【中文标题】Xcode 6.4 中已弃用的 segue【英文标题】:Deprecated segues in Xcode 6.4 【发布时间】:2015-08-06 08:46:47 【问题描述】:

所以我按照教程在这里制作了一个segue: https://developer.apple.com/library/ios/recipes/xcode_help-IB_storyboard/chapters/StoryboardSegue.html

当我按住 Ctrl 键从按钮拖动到视图控制器时,我会看到 Push、Modal、Popover、Replace 和 Custom 选项。本教程明确指出,所有这些都已弃用(除了自定义,我猜这是为了更复杂的转场)。我项目的部署目标是8.3,我使用的是xcode 6.4。

有人能给这个混乱的混乱带来一些光明吗?

【问题讨论】:

你应该使用 Present Modally 而不是 Modal。有什么困惑。 Apple Docs 的解释性很强。 @user1354603 我的回答是否帮助您理解了困惑? @AppDevGuy 好吧,这仍然令人困惑,而不是关于某些转场被弃用以及取代它们的部分,令人困惑的部分是当我尝试制作转场时,我只能选择弃用的转场。当我添加一个导航控制器时,我能够选择较新的非弃用 segue,所以我想问题已经解决了,我只是还没有完全理解它。 你能截屏你正在做什么来提出它吗?我似乎无法复制这个问题。 @Pedro.Alonso 您可以使用启用了尺寸等级的新尺寸的原因是尺寸的自动配置;最新的设备正在运行 iOS8,因此使用最新的 segue。因此segues的转换包含在size classes的转换中。 【参考方案1】:

我强烈建议您阅读 Apple 提供的有关差异的文档;本文档更明确地解释了这些差异:Apple Segue Compatibility

在面向 iOS 8.0 以下版本的应用中,自适应转场会转换为旧转场。在面向 iOS 8.0 或更高版本的应用中,当为项目启用大小类时,旧版 segue 会升级为自适应 segue。

这些旧版 Segue 是您的 Push、Modal、Popover 和 Replace

Xcode 6 发布时,发布了较新的功能 Show、Show Detail、Present Modally 和 Present as Popover

这些新功能旨在取代旧功能,并针对 iOS 版本 8 及更高版本,但能够在早期版本中发挥作用,因为它们是自适应的。

segues 的详细信息与您附加的Apple Segue Doc 中的内容完全相同。该文档告诉您,较新的 segue 是自适应的。 Show 还有一些功能,可以推测是为了更完美的操作,很可能是在运行时节省内存/防止内存使用高峰。

在 Apple Segue Doc(第一个链接)中,比较分解如下所示(网站上还有另一张图片):

如果您计划将应用程序发布到版本低于 iOS 8.0 的设备,您可以考虑使用 legacy segues,但是,如果您只计划发布到兼容 8.0 及更高版本的设备,请显示,显示细节等。

【讨论】:

以上是关于Xcode 6.4 中已弃用的 segue的主要内容,如果未能解决你的问题,请参考以下文章

图像中已弃用的 Notification 类的替代方法是啥?

Magnolia 的 AccessDefinition 类中已弃用的角色

似乎无法关闭 php 中已弃用的错误

如何注释 OpenAPI (Swagger) 2.0 中已弃用的字段?

TextToSpeech : API Level 21 中已弃用的说话功能

SLServiceTypeFacebook' 在 iOS 11.0 中已弃用