我在UITabBarController
的其中一個選項卡內有UINavigationController
。在內存警告後,UITabBarController中的視圖消失
我現在在整個應用程序中使用一個新的視圖控制器(我們稱之爲Steve)(使用presentViewController:animated:completion:
)。
然後,我模擬低內存。
解僱史蒂夫(使用dismissViewControllerAnimated:completion:
)後,我現在可以看到UINavigationController
的觀點已經消失;在標籤內;只有空的白色區域被看到!
這是爲什麼?在Steve被解僱時,我曾嘗試在所有可以想象的控制器上調用view
方法,但該選項卡的內容仍保持空白(白色)。
奇怪的是這個:如果我點擊另一個選項卡,並在原始選項卡上單擊,內容(導航控制器)再次顯示爲正常。標籤欄控制器是否執行特殊的操作來強制顯示視圖?
更新:我能「解決」我的問題與這種可怕的代碼,只是解僱之前史蒂夫:
[[[[[self tabBarController] view] subviews] objectAtIndex:0]
addSubview:[[self navigationController] view]];
這樣做是它發現的標籤欄的子視圖控制器是而不是標籤欄(即頂視圖),然後將導航控制器的視圖添加爲其子視圖。
這當然很糟糕,因爲它會對標籤欄控制器視圖的子視圖結構進行內部假設。
如果有人有更好的解決方案,請讓我知道他們。
你檢查viewDidUnload方法的基類?也許東西被刪除或在那裏發佈。 – cocoakomali 2012-02-06 18:02:44
我沒有在任何地方實施任何卸載方法。 (我正在使用ARC。) – Enchilada 2012-02-06 18:55:50
Oh k。然後,我將再次看穿它。 – cocoakomali 2012-02-06 19:03:03