【问题标题】:Call a segue from another Navigation Controller从另一个导航控制器调用 segue
【发布时间】:2016-08-15 01:40:51
【问题描述】:

我正在尝试跳转到另一个导航控制器上的视图。 您可以从我的故事板中看到情况:

一旦我进入“Edit Sticker”视图,我想回到“Create Pack”,但我不希望“返回”当我点击save后,我会回到“Edit Sticker”,它应该会带我到“Create pack左侧的视图em>”。 从这里可以看出情况:

什么是好的解决方案? 如何调用另一个导航视图控制器上的 segue(您在左上角的第一张图片中看到的第一个,即调用“Create pack”)?

更新:
尝试使用一个导航控制器进行设置:

并在我按下 Add 时以编程方式设置:

self.navigationController?.popToRootViewControllerAnimated(true)

带我回到“第一视角”。我需要进入“创建包”视图。

【问题讨论】:

    标签: swift uinavigationcontroller xcode-storyboard


    【解决方案1】:

    Edit Sticker 视图控制器怎么会出现在导航控制器上?

    如果导航层次结构变为Root -> Create Sticker -> Edit Sticker,您可以在用户点击保存时调用self.navigationController.popToRootViewController

    但是,如果您想控制转场,请使用self.navigationController.popViewControllerAnimated(animated: Bool),因为它只会将视图弹出顶部以提供更多控制权。

    【讨论】:

    • 感谢您的回复,但它不起作用。我更新了问题以获取有关该问题的更多详细信息。因为它是 Root -> 第一个视图 -> 创建贴纸 -> 编辑贴纸
    • 啊,我假设第一个视图是根视图。尝试调用self.navigationController?.popViewControllerAnimated(false) 两次以弹出Edit Sticker 然后弹出Create Sticker。如果您希望 segue 动画化,则将 bool 更改为 true
    • 对不起,我读错了更新。如果您只想在按保存后返回Create Sticker 视图,那么只需popViewControllerAnimated 一次。
    • ?谢谢!有用。如果您更新答案,我可以接受。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 2020-10-02
    • 1970-01-01
    相关资源
    最近更新 更多