UINavigationController重置内部UIViewControllers

时间:2010-04-26 15:05:09

标签: uiviewcontroller uinavigationcontroller uitabbarcontroller reload reset

我有非常独特的问题。我的应用程序有UINavigationCnotroller和一组UIViewController。大多数时候一切都很顺利,但在某些时候,当我按下Back按钮时,我返回的UIViewController突然重新加载。即loadView第二次调用,界面被压扁。在此之前,我有UITabbarController,其中我看到了同样的问题(当切换选项卡时)。看起来UINavigationController / UITabBarController在某些时候只是重置了一些UIViewController。此外,此问题仅在设备上可见。任何想法??

非常感谢提前!!!

1 个答案:

答案 0 :(得分:1)

再次调用-loadView的原因是视图在屏幕外被卸载:您的应用程序收到内存警告,并且视图控制器系统尝试释放当前不可见的任何视图。你的界面变得“被压扁”表明你没有正确卸载它;确保您的-loadView方法可以从头开始创建整个用户界面,并且-didReceiveMemoryWarning - 其默认实现在没有超级视图的情况下释放视图,这就是这里发生的事情 - 放弃任何你要坚持的部分观点。