【问题标题】:Open the same view from different view controllers从不同的视图控制器打开相同的视图
【发布时间】:2016-12-04 11:27:30
【问题描述】:

我有以下场景:我有一个视图控制器,并希望以编程方式导航到另一个视图 f.e.让用户能够更改设置。
所以我有 VC1 和 VC_settings 以及这些控制器之间的当前模态segue。我给 segue 一个标识符并这样称呼它:

performSegue(withIdentifier: "SegueToSettingsView)

好的,这没有任何问题。设置视图已打开,我可以导航回 VC1。

现在我想在另一个视图控制器 VC2 中具有相同的功能。我想重用设置视图,但问题是 segue 已经在 VC1 和 VC_settings 之间连接,我无法为 VC2 连接新的。
如果我尝试在 VC2 中使用上面的 coce 调用现有的 segue,那么应用程序就会崩溃。

【问题讨论】:

    标签: ios swift uiview uiviewcontroller


    【解决方案1】:

    在 swift 中,可以从多个视图创建转场,两个视图控制器。在这里,我已经设置了它,因此从 VC1 到设置和 VC2 到设置应该可以工作。

    希望对你有帮助

    【讨论】:

    • 不幸的是,您的屏幕截图对我来说有点混乱,因为您只显示了依赖项。但是您能否描述一下 Xcode 中的步骤或提供一些代码 sn-p 如何创建/使用 segue?
    【解决方案2】:

    由于您将 VC1 和 VC_settings 与名为“SegueToSettingsView”的 segue 连接,因此执行选择器也可以正常工作。

    根据您的需要,从 VC2 到 VC_Settings 进行另一个 segue 并为其命名。然后使用下面的代码来执行segue。

    performSegue(withIdentifier: "SegueToSettingsViewFromVC2")
    

    制作segue的步骤: 然后选择连接并设置标识符

    【讨论】:

    • 是的,这是我的第一个想法。但问题是,如果我选择 VC_settings,在连接选项卡下查看“呈现 segues”,然后我会看到“模态呈现”已经连接。这很清楚,因为它已连接到 VC1,但似乎不可能为同一任务进行第二次转场?
    • 它将在您执行 segue 的视图控制器下。
    • 当然你可以制作尽可能多的segues
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多