代码之家  ›  专栏  ›  技术社区  ›  angelo

动态添加的子视图消失

  •  1
  • angelo  · 技术社区  · 15 年前

    我有一个动态创建和添加为子视图的uiview,而不是在Interface Builder中。问题是子视图最终会消失,屏幕上剩下的只是在正在加载的XIB中定义的对象。

    当子视图的重新计数从3下降到2时,似乎会发生这种情况。我对iPhone的开发还比较陌生,不完全理解内存管理的复杂性,所以我可能遗漏了一些明显的东西。有人能解释一下我的问题是什么吗?任何帮助都将不胜感激。谢谢。

    1 回复  |  直到 13 年前
        1
  •  1
  •   Nimrod    15 年前

    这只是一个疯狂的猜测,但是内存不足警告可能会导致视图从内存中清除,当重新加载时,视图将不再存在,因为如果发生这种情况,VIEWDIDLOAD中没有任何内容可以重新显示它。您可能需要将视图存储在一个ivar中,然后让viewdidload再次添加它(如果它存在的话)。

    您可以通过在模拟器中运行来测试这个理论,然后让它生成一个低内存警告,看看这是否会使视图消失。我不 认为 如果视图当前显示,则会发生这种情况,因此请确保此时显示其他视图。