【问题标题】:unwind to other viewController without using StoryBoard在不使用 StoryBoard 的情况下展开到其他 viewController
【发布时间】:2017-05-03 08:59:59
【问题描述】:

我习惯于像这样轻松地进行放松:

首先在目标视图控制器上设置:

@IBAction func unwindToThisViewController(segue: UIStoryboardSegue) {}

最后拖放,然后选择想要的展开:

但是在 Xcode 更新到 8.2.1 之前,如果您的目标视图控制器带有一些扩展,它不会出现在列表中(手动 Segue)。我没有更新到 8.3,因为我仍在使用 Swift 2.3,所以我不知道在其他版本中这个错误是否已解决。

不必将所有扩展名都移动到同一个文件中,那样会很混乱,在那里找到任何东西。我想知道是否有任何其他方法可以在不使用情节提要步骤的情况下执行此操作。

我目前正在使用导航控制器,也许 popToViewController 会这样做?老实说,我不知道。

非常感谢您的帮助。

【问题讨论】:

    标签: ios xcode unwind-segue


    【解决方案1】:

    在情节提要中,为您的展开转场指定一个标识符。

    然后,在您的代码中执行:

    performSegue(withIdentifier: "SegueID", sender: nil)

    来源:https://spin.atomicobject.com/2014/12/01/program-ios-unwind-segue/

    【讨论】:

    • 感谢@Hodson 的回答,但我想做的是不使用情节提要。如果有任何方法,我想以编程方式创建这个 segue。但顺便感谢您的回答。
    • 啊抱歉,我以为你已经在故事板中设置了它,只是想以编程方式调用它。我认为不使用情节提要就不可能使用展开转场,因此您可能必须创建自定义功能才能跳转到所需的视图。为此,您可能可以使用popToViewController(_:animated:),正如您所提到的。
    • 也非常感谢!
    猜你喜欢
    • 2021-11-17
    • 2015-04-11
    • 2013-06-12
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多