gpt4 book ai didi

ios - 在导航堆栈中重新创建 viewController

转载 作者:行者123 更新时间:2023-11-29 13:07:51 25 4
gpt4 key购买 nike

我有一个特定的情况想解决:

我有一个加载的 UIViewController。在特定情况下,我选择在导航堆栈中的顶部显示一个新的 UIViewController。在那之后,我想将之前的 UIViewController 留在堆栈中,但我想对它进行 release 排序,所以当顶部 VC 弹出到第一个时,我会发现它不是我离开时的状态,而是好像刚被推过一样。

尽管如此,我知道我可能只想将它推到第二个 VC 之上,但这会在导航堆栈中造成困惑,并且可能会造成内存泄漏,因为此行为可能会循环。

我正在使用 ARC 并为 iOS 6 及更高版本构建应用。

最佳答案

我认为你有两个选择:

  1. viewWillAppear 如果第二个 View Controller 弹出,则在第一个 View Controller 中调用导航堆栈,因此您可以重置第一个 View 的所有状态和 UI 元素该方法中的 Controller 。
  2. 在弹出第二个 View Controller 之前,您可以使用 UINavigationControllersetViewControllers:animated: 方法替换第一个 View Controller 实例导航堆栈中的一个新实例。

所以这取决于你是否想保留第一个 View Controller 实例并只是“重置”它,或者你是否想要第一个 View Controller 的"new"实例回来时从第二个开始。

关于ios - 在导航堆栈中重新创建 viewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18171938/

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