【问题标题】:How do I create storyboard segue from a view controller to itself?如何创建从视图控制器到自身的故事板 segue?
【发布时间】:2011-12-30 15:12:22
【问题描述】:

是否可以创建从视图控制器到自身的故事板转场?我有一堆具有相关实体的实体。我希望能够使用显示实体的同一视图控制器来显示相关实体。但我似乎无法创建一个 segue 来显示原始视图控制器的新实例。

只是不允许吗?谢谢!

【问题讨论】:

    标签: ios uiviewcontroller uistoryboard


    【解决方案1】:

    嗯,这是一个不太一样的解决方案,但可以让我得到我想要的。我发现它是对this question 的回答。

    我认为我必须使用 segue 而不是将视图控制器以良好的旧编程方式推送到导航控制器的堆栈的原因是我已经在情节提要中设置了视图控制器的 IBOutlets。我没有意识到您可以在不使用情节提要转场的情况下创建情节提要中布局的视图控制器的副本。你可以!要了解如何操作,请查看其他问题并对回答者投票!

    【讨论】:

    • 我给了你两个 ups,因为即使没有人回答,你也会找到解决方案并愿意发布它来帮助他人。这就是精神!!
    【解决方案2】:

    您可以从一个元素(UIButton 等)按住 ctrl-click-drag(或右键单击-drag)到包含的视图控制器。

    (你试过这个吗?我现在就在做;我有一只股票UIViewController,它只是通过普通的push segue 无限期地添加到包含UINavigationController 的堆栈中。)

    【讨论】:

    • 这很好,但是如果你想要一个可以通过编程方式调用的 segue,你不能从 ViewController 拖动到它自己。
    • 您应该仍然可以在故事板编辑器中命名 segue(属性检查器中的 Identifier 字段)并通过代码中的 UIViewController 上的 -performSegueWithIdentifier:sender: 引用它。
    【解决方案3】:

    是的,我不能对自己进行“手动”segue,这很烦人。

    我所做的是将一个 UIButton 添加到我的视图中,并给它一个推送到同一个视图控制器的操作,然后隐藏这个按钮。然后我可以命名segue并在代码中引用它。

    Hacky,但有效。

    【讨论】:

    • 确实很老套,但我没有看到其他解决方案,因为我有一个自定义的 segue。接受的(推荐的)答案使用默认的推送动画,这不是我想要的。我现在感觉很脏,但我已经这样做了:x +1。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2012-03-02
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    相关资源
    最近更新 更多