1

我正在为我的应用程序使用状态恢复。我有 vc1 -> vc2 -> vc3。

在 vc3 上,我实现了恢复委托和恢复标识符。但是在 vc1 和 v2 上,我只实现了标识符。

当我到达 vc3 时,它会恢复正常。但是当我到达 vc2 时,它也会恢复。它只设置了恢复标识符。中间视图控制器是否也得到恢复?我不想要它。

4

1 回答 1

0

基本上 UIKit 会恢复设置了 Reuse Identifiers 的视图控制器(包括它们的子视图)。在您的情况下,您已经设置了所有三个视图控制器的标识符。因此,即使您只为 vc3 实现了 UIStateRestoration 方法,您的所有 VC 也会得到恢复。

您可以尝试单独删除 vc2 的 ReuseID运行您的应用程序,其中vc3方法及其重用 id 保持不变。由于您的vc2没有重用 id,因此 UIKit 不会关心恢复它。删除 vc2 的重用 id 时的可能结果是以下之一:

1. vc3会被恢复,当你按下它的返回键时,你会直接进入vc1

2.只有你的vc1会被恢复

于 2017-01-06T18:29:39.730 回答