2
我的應用程序在4.3和5.1中工作得很好。我所做的是將登錄視圖作爲UITabBarController中的單個視圖,當用戶登錄時,我的應用程序將tabBarItems更改爲另一組viewController(多個選項卡)。它在iOS5中工作得很完美,但現在,它完全在iOS6中破解 - 我該怎麼做。當我在iOS6中切換tabBarItems的數組時,爲什麼會出現空白屏幕?
我的應用程序在4.3和5.1中工作得很好。我所做的是將登錄視圖作爲UITabBarController中的單個視圖,當用戶登錄時,我的應用程序將tabBarItems更改爲另一組viewController(多個選項卡)。它在iOS5中工作得很完美,但現在,它完全在iOS6中破解 - 我該怎麼做。當我在iOS6中切換tabBarItems的數組時,爲什麼會出現空白屏幕?
我花了幾個小時在這個終於找到了問題。看起來只是切換出tabBar數組並不會導致viewController經歷與他們通常所做的相同的初始化。解決方法是先刪除rootViewController,然後重新設置。一旦我做到了這一切都完美:
tabBarController.viewControllers = vcs; // my array, either a login view or the real array
tabBarController.customizableViewControllers = nil;
tabBarController.selectedIndex = 0;
window.rootViewController = nil; // THIS WAS THE MAGIC LINE - nil then set again
window.rootViewController = tabBarController;
[window makeKeyAndVisible];
我真的希望這節省別人的頭髮拉的時間我剛剛經歷過!