没有为 UIscrollView 中的 viewControllers 调用 ViewDidUnload

Posted

技术标签:

【中文标题】没有为 UIscrollView 中的 viewControllers 调用 ViewDidUnload【英文标题】:ViewDidUnload is not being called for viewControllers inside UIscrollView 【发布时间】:2012-08-15 10:20:18 【问题描述】:

我有这个层次结构:

MainViewController -> 子视图控制器 -> UIScrollViewController -> 几个 (4) 视图控制器。

当我从Sub View Controller 出来时,我希望UIScrollView 中的 ViewController 会调用它们的 ViewDidUnload,这样我就可以关闭一些进程。

实现这个目标的正确方法是什么,我不得不说我的目标是ios 4.1及更高版本。

谢谢 沙尼

【问题讨论】:

【参考方案1】:

来自 UIViewController 类参考:

在 iOS 6 上,视图永远不会被清除,并且 viewWillUnload 和 viewDidUnload 永远不会被调用。如果您的视图控制器需要执行特定的 内存不足时的任务,它应该覆盖 didReceiveMemoryWarning 方法。

【讨论】:

【参考方案2】:

iOS 4 和 iOS 5 之间的行为有点不同。请参阅此处查看details。 您是否从层次结构中明确删除视图?

【讨论】:

以上是关于没有为 UIscrollView 中的 viewControllers 调用 ViewDidUnload的主要内容,如果未能解决你的问题,请参考以下文章

UIButton 没有响应嵌套在另一个 UIScrollView 中的 UIScrollView 中的触摸

为啥我的 UIScrollView 中的 WKWebview 没有显示?

UIScrollView中的iOS UITextField没有响应

尝试理解 iOS 8 中的 UIScrollView 自动布局

UIScrollView中的iPhone UIImageView没有缩放到中心

UIScrollView 根本没有缩放