gpt4 book ai didi

ios - UINavigationController 一直显示弹出 View

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

所以在 iOS 应用程序中,我使用 UINavigationController 作为 Root View Controller 。然后我将几个 ViewController 压入堆栈,我们称它们为 A、B、C 和 D。

现在,如果我尝试从堆栈中弹出 D,我有时 * 会遇到以下问题:在调用 popViewControllerAnimated 之后,最顶层 View Controller (D) 的 View 仍然存在。但是,如果我显示堆栈,它会正确显示,即显示 A-B-C 而 D 消失了。 pop 方法似乎做了它应该做的事情,但 View 并没有反射(reflect)出这一点。

我尝试了各种其他方法(popToRootViewController、popToViewController),但行为没有改变(即堆栈打印正确但 D 的 View 仍然存在)。我已对所有似乎有意义的 View 调用了 setNeedsDisplay。

弹出 D 后,我仍然可以推送和删除其他 View Controller 。堆栈反射(reflect)了这些变化, View 没有。此外,D 的 View 保持响应,即它没有卡住并且应用程序在后台正常运行。所有 View 都非常简单,没有选项卡式 View 等,只有几个标签和按钮。

我在 SO 和其他地方阅读了很多关于遇到类似问题的人的帖子,但似乎没有一个解决方案适合这里。有谁知道为什么会这样?

*_ 我还没弄清楚到底是在什么情况下。我首先认为这是因为我在推 D 之后很快就弹出了,但是当推和弹出之间有更多时间时偶尔也会发生这种情况。

最佳答案

我能想到这可能发生在哪里的唯一原因是如果你不在主线程中这样做。如果你是在一些网络调用之后做的,那么一定要确保你要回到主线程。有时,如果您在后台线程上执行 UI 工作,应用程序不会崩溃,而是会像您所看到的那样运行!

关于ios - UINavigationController 一直显示弹出 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27112430/

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