在 iOS 9.0 之前,只有自定义 segues 支持类名

Posted

技术标签:

【中文标题】在 iOS 9.0 之前,只有自定义 segues 支持类名【英文标题】:Only Custom segues support class names prior to iOS 9.0 【发布时间】:2015-09-11 15:17:40 【问题描述】:

在 Xcode 7 GM 中,我在情节提要中收到上述警告。什么意思?

我确实有一些自定义转场,他们的班级分配给了过渡管理器 (UIStoryboardSegue)。我检查了故事板中的所有转场,所有自定义转场都有自定义类,所有非自定义转场都没有分配自定义类(包括展开转场)。

有什么想法吗?

【问题讨论】:

您找到答案了吗?我的目标是ios 7,我曾经在自定义导航控制器中调用segueForUnwindingToViewController,它返回我的自定义展开segues 或在super 上调用相同的方法。现在你可以在 storyboard 中输入你的 unwind segue 类,但这是否向后兼容? 我在 Storyboards 上观看了 WWDC 2015 视频,如果您的目标同时支持 8 和 9,显然 segueForUndingToViewController 仍受支持。 我也是...你如何删除警告? 那个,我不知道。如果你同时定位 8 和 9,我认为你不能。 我收到了同样的警告,原因是转到不同的情节提要并有一个自定义的“Segue”类,这也会导致 iOS8 上的应用程序崩溃。 【参考方案1】:

为了解决这个警告,请将segue with custom class更改为Custom

当然,执行转换的逻辑应该在那个类中实现(在我的例子中是ExternalStoryboardSegue)

【讨论】:

我所有带有自定义类的 segues 都设置为自定义,但我仍然收到警告。 谢谢。我已经尝试过了,它似乎解决了我的问题。没想到它有自定义模式。 @HotJard 你是如何处理 unwind segues 的? @MarieDm 我也在尝试通过展开转场来抑制“仅自定义转场”警告。你找到解决方案了吗? 在 Xcode 8 中,我仍然有这个警告.. 即使我设置为不使用自定义 segue.. 当我重置到以前的提交并再次设置时,警告消失了.. 我认为这有点xcode的bug

以上是关于在 iOS 9.0 之前,只有自定义 segues 支持类名的主要内容,如果未能解决你的问题,请参考以下文章

用于 segue 动画的 CATransition(iOS 7 之前的样式)

自定义 Segue 在显示目标视图控制器之前动画为黑色

iOS中的自定义segue

iOS - 自定义 segue 内存泄漏

IOS/Objective-C:在没有 Storyboard Segue 的情况下可以在模态转换中使用自定义 Segue?

如何从自定义 UITableViewCell 触发 segue - iOS7