【问题标题】:subview of uiview not being purgeduiview 的子视图没有被清除
【发布时间】:2014-04-09 13:39:08
【问题描述】:

所以我使用导航控制器来处理两个视图控制器。一种是 ItemsViewController,它是 NavController 的根视图控制器。

名为 DetailViewController 的第二个控制器被推到 ItemsViewController 之上。通过这种方式,我使用这 2 个控制器制作了一个向下钻取的 UI。现在在 DetailViewController 中,我添加了几个子视图,例如按钮、文本字段、标签和 imageView

在 DetailViewController 中声明的 imageView 指针属于“弱”类型,因此每当视图控制器的主视图被清除时,旧的 imageView 对象就不会挂起。但实际上我正在观察这种行为。

发生的情况是,当我从 DetailViewController 的视图返回到 ItemsViewController 的表视图时,前者会从父子控制器堆栈中加载,因此当我重新进入 DetailViewController 的视图(与以前相同)时,它会重新加载从而重新创建一个 UIView。

因此,新的 UIView 已经创建了所有新的子视图对象。但是(这就是问题所在),new imageView 对象中的旧图像对象仍然存在。这让我很困惑。有人可以解决这个问题吗?

【问题讨论】:

  • 你在哪里设置'imageView'的图像?

标签: ios objective-c cocoa-touch uikit


【解决方案1】:

ViewWillDisappear中设置UIImageView如下,可能会解决你的问题

imageView.image = nil 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2019-05-16
    • 2014-06-22
    相关资源
    最近更新 更多