0

我有 2 个视图控制器说 VC-1、VC-2。我通过导航堆栈在 VC-1 上显示了 VC-2。VC-1 有 textView,VC-2 有 webView。现在我需要在 VC-2 弹出后立即更新 VC-1 的内容。因此,我使用 VC-2 的 viewDidDisappear 方法来设置内容,并在 VC-1 的 viewWillAppear 中使用它来更新 textView(VC-1 的内容)。但是在 viewDidDisappear 完成之前,VC-1 的 viewWillAppear 被执行并且内容没有更新。我已经通过 NSLogging 检查了这一点。viewDidDisappear 有一些文件读取内容,所以我猜这是导致问题的原因。如何在 DidDisappear(VC-2) 完成后调用 WillAppear(of VC-1)?

4

1 回答 1

6

-viewWillAppear:在您的视图完全出现在屏幕上之前调用。-viewDidDisappear:在您的视图完全从屏幕上消失后调用。因此,在任何类型的动画转换中,例如导航堆栈弹出/推送,传入的 VC-viewWillAppear:必须在调用离开的 VC 之前-viewDidDisappear:被调用。这是完全正确的。

您可能应该接受您正在从事的工作-viewDidDisappear:并将其转移到其他-viewWillDisappear:地方。

于 2012-07-10T04:53:31.300 回答