代码之家  ›  专栏  ›  技术社区  ›  brandonscript

当使用带序列图像板引用的“展开序列”时,“没有带标识符的序列”

  •  0
  • brandonscript  · 技术社区  · 6 年前

    我已经按照指示做了 here here

    流程非常简单:

    光分解场景 有故事板引用 编辑历史场景 编辑历史场景 回到 光分解场景 dismiss() 称之为解雇罚款。但是,使用segue标识符展开总是失败,因为:

    EditHistoryScene has no segue with identifier 'UnwindEditHistorySegue'
    

    在我的编辑历史场景关闭按钮操作中,我有:

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

    在我的光分解场景中,我补充道:

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

    以下是我如何在IB中设置的 unwindToPhotoDetailScene() 方法连接到情节提要 参考 (因为这是IB让我按住ctrl键并链接出口的唯一方法):

    enter image description here

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

    为目标情节提要正确设置情节提要引用: enter image description here

    enter image description here

    EditHistoryScene情节提要实例似乎未连接到@IBOutlet? enter image description here

    我最好的猜测是它失败了,因为这是一个故事板参考,并且展开段定义在 ,而不是实际的脚本实例。但我不知道如何将EditHistorySene的退出点直接附加到PhotoDetailScene。

    0 回复  |  直到 6 年前
        1
  •  2
  •   Paulw11    6 年前

    不需要创建引用本身的任何分段。

    一旦第二个情节提要包含对第一个情节提要的引用,则第一个情节提要中定义的任何展开函数都可用。

    通过将退出触发器拖动到视图控制器场景中的退出图标,可以创建退出分段。

    unwindToPhotoDetailScene 作为一种选择。

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

    例如,您可能希望“关闭”按钮上的操作处理程序函数检查是否有未保存的更改。如果有,提示用户确认他们将丢失更改(或保存或其他操作)。一旦他们乐意继续,你就可以调用释放。

    要设置此设置,请按ctrl键将视图控制器对象拖动到其自己的退出图标。创建展开段并给它一个标识符。