gpt4 book ai didi

ios - 如果我使用 unwindSegue 从屏幕 A 转到 B 再回到 B,如何返回到我的主显示器 (A)

转载 作者:行者123 更新时间:2023-11-28 13:34:18 26 4
gpt4 key购买 nike

我目前正在学习如何使用 Swift 编程并制作了 3 个不同的页面; 页面 A、B 和 C。从 页面 A,我可以导航到 页面 B,从 页面 B,我可以转到任一 页面C页面 A。当我转到 页面 C 时,我可以返回到 页面 B页面 A

但是,我遇到的问题是,如果我从 Page A 转到 Page B 再到 Page C 回到 Page B,当我尝试关闭 Page B 时,它会短暂显示 Page C,然后再关闭回 page A

所有这些都在单独的 viewcontrollers 上,我只是每次都以模态方式呈现所有这些

我试过使用 Unwind Segues Step-by-Step Create Unwind Segues in Swift 3了解我做错了什么,但是根据我对它们的阅读(以及我对 Swift 的有限知识),它们都没有讨论返回单个页面然后尝试关闭。它们都从 1 -> 2 -> 3 返回到 1,而没有返回到 第 2 页 的中间步骤。

@IBAction func close (_ unwindSegue: UIStoryboardSegue){} 是我一直在使用的 unwindSegues,将它们链接到我的 Exit 占位符。这是在 B 和 C 页面

上完成的

目前没有错误消息,它似乎可以工作,但它确实显示了不是我正在寻找的中间屏幕。

谢谢!

最佳答案

你说:

when I tap on the back button on page C -> B it shows that I trigger an Action that presents Modally (if that helps)

这正是问题所在。从 A 到 B 再到 C 之后,C 不应再次模态呈现 B。您正在创建 B 的第二个新实例。您的 View Controller 层次结构如下所示:

A » B1 » C » B2

但是,如果您成功地从 C 解雇/解除到 B,那么您最终将在 View Controller 层次结构中只有 A 和 B:

A » B

然后,当 B 去解散/展开到 A 时,C 早就消失了,你不可能在动画中看到它。


如果你正在使用展开转场,我建议 View Controller A 有一个像这样的展开 Action :

@IBAction func unwindToA(_ segue: UIStoryboardSegue) { }

并且 View Controller B 可以像这样有一个 unwind Action :

@IBAction func unwindToB(_ segue: UIStoryboardSegue) { }

现在,当 C 想要回到 B 时,如果你可以使用后者的展开 Action 。如果您想放松到 A(从 B 或 C),您可以使用前者。

只要确保当您想在 View Controller 层次结构中向后移动时,您永远不会呈现/显示。适本地使用 unwind segues 或 dismiss/pop

关于ios - 如果我使用 unwindSegue 从屏幕 A 转到 B 再回到 B,如何返回到我的主显示器 (A),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56879843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com