我的ios应用程序是基于UITabBarController的应用程序。在某些情况下,我需要在另一个模态视图控制器中显示模态视图控制器。
一切都运行良好,期待内存警告到来时:如果我尝试关闭两个模态视图控制器以便返回到我离开标签栏控制器的位置,这就是我所看到的:
屏幕上不显示所选标签栏控制器视图。
以下是导致此问题的完整步骤:
如果从未显示B并且从A发出内存警告,则没有问题。
我还试图从标签栏控制器中显示A,而不是从所选的视图控制器中显示,但没有任何更改。
我已记录了tab-bar和feed控制器(当前所选控制器)的主视图事件入口点。结果令人惊讶:
// B is visible on the screen
2012-05-08 15:30:00.563 - Received memory warning.
2012-05-08 15:30:00.563 - viewDidUnload called on tab-bar controller
2012-05-08 15:30:00.564 - viewDidUnload called on feed controller
// user dismisses B controller and A is displayed
2012-05-08 15:30:30.267 - loadView called on feed controller
2012-05-08 15:30:30.268 - viewDidLoad called on feed controller
2012-05-08 15:30:30.274 - loadView called on tab-bar controller
2012-05-08 15:30:30.274 - viewDidLoad called on tab-bar controller
// user dimisses A controller and tab-bar is displayed
2012-05-08 15:30:40.273 - viewWillAppear: called on tab-bar controller
正如您所看到的,当B被关闭时,标签栏视图(以及Feed也会)恢复。 这不是我期望看到的,实际上在解雇A时应该恢复标签栏视图。
有什么想法吗? 感谢