UIViewController文档提到-viewWillDisappear:
“调用此方法是为了响应从其窗口中删除或被另一个视图覆盖的视图。在实际删除或覆盖视图之前以及配置任何动画之前调用此方法。”
在 iOS 4.3 及更低版本中,我们应该呈现一个 viewController 而不是显式地将 viewController 的视图添加到视图层次结构中,因此当在现有视图上呈现一个新的视图控制器时,调用-viewWillDisappear
or-viewDidDisappear
将被触发,在这种情况下 '由另一种观点'是真的!但是如果一个 viewController 的视图因为另一个视图挡住了 viewController 的视图而被隐藏了怎么办?我们收到这些回调了吗?
好吧,在 iOS 5 中有一个 UIViewController 包含概念,通过设置 viewController 之间的父子关系,可以将视图直接添加为视图层次结构中的子视图。因此,与 <= 4.3 OS 不同,理想情况下viewWillDisappear
,-viewDidDisappear
应该在 viewController 的视图被其他视图阻挡或覆盖时触发调用,我已经通过示例项目验证了它在 SDK 5.0 中没有发生。
有没有人发现与这些回调相关的这个问题?或者,我的理解正确吗?
谢谢,拉吉