gpt4 book ai didi

ios - 如何保存导航 Controller 的状态? (iOS 6 之前)

转载 作者:行者123 更新时间:2023-12-01 16:51:23 24 4
gpt4 key购买 nike

我的 Root View Controller (R) 中有一个按钮,它触发到导航 Controller (N) 的 segue。在导航 Controller 内部,我可以在其导航堆栈上的所有 View Controller (N.0、N.1、N.2...)之间切换,并且所有这些 View Controller 都有一个按钮可以立即跳回 Root View Controller (R)。

我想实现这一点 - 每当点击 Root View Controller (R) 中的按钮时 - 导航 Controller (N) 会再次显示其先前的配置。
示例:如果关闭导航 Controller 之前的最后一个可见 View Controller 是(N.1),我希望导航 Controller 再次显示(N.1)。

目前,每当我触发从 Root View Controller (R) 到导航 Controller (N) 的转场时,总是会显示导航 Root View Controller (N.0)。 (iOS 是否会在每次触发 segue 时实例化一个新的导航 Controller ?还是它仍然是同一个对象?)

当导航 Controller 再次出现时,如何保留导航 Controller 的状态并恢复它?

(我知道在 iOS 6 中有一个 restoreIdentifier 属性可用于此目的。但是我希望我的应用程序能够很好地支持运行 iOS 5 的设备,并且在 iOS 6 之前必须有某种方法来实现此行为。)

Storyboard Screenshot

最佳答案

转场 总是 创建目标 View Controller 的新实例。大概你用“跳转”到根 Controller 。 popToRootViewControllerAnimated: 这可能会破坏所有弹出的 View Controller ,因此没有什么可返回的。如果你想浏览 View Controller 的网络,你将无法使用 UINaviationViewController 或 segues。

关于ios - 如何保存导航 Controller 的状态? (iOS 6 之前),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15415798/

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