cocoa-touch - 当一个 ViewController 的 View 被另一个 View 和 UIViewController Containment 在 iOS5 中隐藏时,viewWillAppear 和 viewWillDisappear 回调

标签 cocoa-touch uiview uiviewcontroller uikit ios5

UIViewController docs提及 -viewWillDisappear:

"This method is called in response to a view being removed from its window or covered by another view. This method is called before the view is actually removed or covered and before any animations are configured."



在 iOS 4.3 及更低版本中,我们应该呈现一个 viewController 而不是明确地将 viewController 的 View 添加到 View 层次结构中,因此调用 -viewWillDisappear-viewDidDisappear当在现有 View 上呈现新的 View Controller 时将触发,在这种情况下'被另一个 View 覆盖 ' 是真的!但是如果一个 viewController 的 View 被隐藏了,因为另一个 View 挡住了 viewController 的 View 呢?我们得到这些回调了吗?

好吧,在 iOS 5 中有一个 UIViewController 包含概念,通过设置 viewController 之间的父子关系,可以将 View 直接添加为 View 层次结构中的 subview 。因此,与 <= 4.3 操作系统不同,- viewWillDisappear-viewDidDisappear理想情况下,当 viewController 的 View 被其他 View 阻挡或覆盖时,应该触发调用,我已经通过示例项目验证了它在 SDK 5.0 中没有发生。

有没有人发现这个问题与这些回调有关?
或者,我的理解是否正确?

谢谢,
拉吉

最佳答案

有人在这里遇到同样的问题:

iOS 5 : -viewWillAppear is not called after dismissing the modal in iPad

你应该阅读答案,我发现它们很有趣。

关于cocoa-touch - 当一个 ViewController 的 View 被另一个 View 和 UIViewController Containment 在 iOS5 中隐藏时,viewWillAppear 和 viewWillDisappear 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6733372/

相关文章:

iphone - 转换为灰度 - 太慢

iphone - 查看未触发的加载方法

ios - 快速在具有动态宽度的 UIView 中添加 UIButtons

ios - UIViewController 如何自动遵守 TableView 协议(protocol)?

ios - 无法通过 RootViewController 评估对 View Controller 的 XCTest 引用

ios - 如何比较 UIColors?

ios - 无法从字符串创建我的 UIImageView 类

ios - UIBarButtonItem 色调颜色 iOS4

ios - UIScrollView水平和垂直滚动的策略

iPhone cocoa "error:request for member ____ in something not a structure or union"