2010-10-21 63 views
0

我有使用导航控制器的多个UIViewControllers的应用程序。 UIViewController包含tableView,搜索栏(我可以显示/隐藏)和工具栏。所有这些都作为子视图添加到其视图中。所有这些子视图都是在UIViewController初始化后创建的,它们的内容依赖于UIVievController的内容。子视图从UIViewController中消失

它工作正常期待一个问题。当我用我的应用程序玩一点时,来回移动,打开一些模式视图等有时后导航回我的根VC所有它的子视图消失,我得到的只是白色屏幕。

我仔细检查了所有的代码,我找不到问题的根源(我当然不会自己删除它们)。我无法找到确切的模板如何重现这一点,它似乎是随机的。任何想法为什么iphone会从VC中删除我的子视图?我会发布一些代码,但我不想把它放在这里,我不确定哪一部分是重要的,所以如果你想看到一些,请告诉我

+0

您是否收到内存警告? – Jordan 2010-10-21 23:09:42

+0

不,我不知道。那是我尝试的第一件事,但我没有使用太多的记忆。稍后我会解决一些泄漏,但它们很小并且内存不是限制 – Lope 2010-10-22 17:54:24

回答

1

在loadView或viewDidLoad中添加您的意见:当viewDidUnload被调用时,视图被释放,所以当再次显示视图时需要再次创建视图。

+0

即使控制器仍在导航堆栈中,视图是否已卸载?我认为只要他们在堆叠中,他们的观点不会被公布......我会尝试并让你知道 – Lope 2010-10-22 17:55:20

+0

是的。根据文档,这可能发生在内存不足的情况下。 – 2010-10-23 06:15:39

+0

看起来你是对的:)谢谢你的帮助! – Lope 2010-10-23 15:30:44