gpt4 book ai didi

ios - 消除模态呈现 VC 和弹出呈现 VC

转载 作者:行者123 更新时间:2023-11-30 11:25:05 27 4
gpt4 key购买 nike

我有一个嵌入在 navigationcontroller 中的 viewcontroller,它将另一个 viewcontroller 推送到堆栈上。这个推送的 View Controller 有一个嵌入的 View Controller ,它可以连续/模态地呈现最终的 View Controller 。

单击按钮时,我尝试关闭最终呈现的 viewcontroller 并弹出呈现的 viewcontroller 并返回到初始状态。

到目前为止,我已经能够让解雇继续进行,但弹出似乎在解雇的完成处理程序中不起作用。

我尝试打印层次结构,即 self.presentingViewControllerself.navigationControllerself.presentingViewController.presentingViewController... ,所有这些都输出 nil,并且无可否认,现在我陷入了返回初始状态的困境。

在查看 View 层次结构时,最终呈现的 viewcontroller 位于 UITransitionView 下方,与我之前提到的堆栈的其余部分分开。

任何想法/指导将不胜感激。

最佳答案

既然你提到了segues,我想unwind segues可能有帮助。我构建了一个快速测试项目,它们确实在您的场景中正常运行。

在相关的SO问题中有一个相当出色的答案What are Unwind segues for and how do you use them? 。针对您的特定情况的答案摘要是:将以下函数放入您的初始 View Controller 中:

@IBAction func unwindToThisViewController(segue: UIStoryboardSegue)
{
}

然后,您可以直接使用 Storyboard Segues(如引用的答案中所示)或以编程方式直接“展开”到该 View Controller :

self.performSegue(withIdentifier: "unwindToThisViewController", sender: self)

又有一篇好文章,标题为 Working with Unwind Segues Programmatically in Swift其中涉及很多细节。

关于ios - 消除模态呈现 VC 和弹出呈现 VC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50826582/

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