ios - 将 "no segue with identifier"与 Storyboard引用一起使用时为 'Unwind Segue'

标签 ios swift interface-builder segue

我已按照说明进行操作 herehere这表明即使在使用 Storyboard 引用时我也应该能够创建展开/编辑转场。

流程非常简单:

PhotoDetailScene 有一个 Storyboard引用 EditHistoryScene 和一个点击手势来触发 segue,然后我在 EditHistoryScene 上有一个关闭按钮可以放松回到 PhotoDetailScene。现在工作正常(自定义“显示”segue 打开 EditHistoryScene),如果我使用 dismiss() 调用它会很好地关闭。但是使用 segue 标识符展开总是失败:

EditHistoryScene has no segue with identifier 'UnwindEditHistorySegue'

在我的 EditHistoryScene 关闭按钮操作中,我有:

func closeButtonPressed(_ sender: Any) 
    performSegue(withIdentifier: "UnwindEditHistorySegue", sender: self)
}

在我的 PhotoDetailScene 中,我添加了:

@IBAction func unwindToPhotoDetailScene(_ unwindSegue: UIStoryboardSegue) {
    print("It works!")
}

下面是我在 IB 中的设置方式,unwindToPhotoDetailScene() 方法连接到 Storyboard reference(因为这是 IB 允许我的唯一方式ctrl+链接 socket ):

呈现 segue: enter image description here

展开转场属性(和转场名称) enter image description here

为目标 Storyboard正确设置了 Storyboard引用: enter image description here

Storyboard引用的退出点连接回 PhotoDetailScene: enter image description here

EditHistoryScene Storyboard实例似乎没有连接到@IBOutlet? enter image description here

我最好的猜测是它失败了,因为这是一个 Storyboard 引用,展开转场是在引用上定义的,而不是实际的 Storyboard 实例。但我不知道如何将 EditHistoryScene 的导出点直接附加到 PhotoDetailScene。

最佳答案

您不需要为引用本身创建任何转场。

一旦您的第二个 Storyboard包含对第一个 Storyboard的引用,第一个 Storyboard中定义的任何展开函数都可用。

您可以通过从退出触发器拖动到 View Controller 场景中的退出图标来创建退出转场。

如果您想从“关闭”按钮触发展开,只需按住 ctrl 键并从关闭按钮拖动到其 View Controller 顶部的“退出”图标,您将看到 unwindToPhotoDetailScene作为一种选择。

如果你想以编程方式触发它,你只需要给 segue 一个标识符。

例如,您可能需要关闭按钮上的操作处理函数来检查是否有未保存的更改。如果有,提示用户确认他们将丢失他们的更改(或保存或其他)。一旦他们愿意继续,您就可以调用放松。

要设置它,按住 Ctrl 键并从 View Controller 对象拖动到它自己的退出图标。创建 unwind segue 并给它一个标识符。

关于ios - 将 "no segue with identifier"与 Storyboard引用一起使用时为 'Unwind Segue',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54754796/

相关文章:

ios - 时区缩写不以两位数格式返回

ios - 带有自定义的 UIButton。按下时背景看起来很糟糕

ios - 突然 xcode 隐藏了界面生成器 Storyboard 中的 View - iphone

ios - UITableViewCell 背景颜色与我输入的不同

objective-c - 无法访问 webViewDidStartLoad 内 UIWebView 的请求对象

ios - 使用 drawInRect 时 UIImage Aspect Fit?

ios - 获取不包括半透明导航栏下的 indexPathsForVisibleItems()

ios - 如何防止键盘出现时弹出窗口滚动

ios - 将对象数组映射到 Swift 中的字典

ios - 如何为 UITextView Swift 添加下划线/粗体/斜体能力