2

我的应用在 4.3 和 5.1 中运行良好。我所做的是将登录视图作为 UITabBarController 中的单个视图,当用户登录时,我的应用程序将 tabBarItems 更改为一组不同的 viewControllers(许多选项卡)。它在 iOS5 中运行得非常完美,但现在,它在 iOS6 中完全崩溃了——我该怎么办。

4

1 回答 1

2

我花了几个小时和几个小时,终于找到了问题。似乎只是切换 tabBar 数组不会导致 viewController 经历与它们通常所做的相同的初始化。解决方案是首先将 rootViewController 设为 nil,然后再次设置它。一旦我这样做了,一切都完美无缺:

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];

我真的希望这可以节省其他人我刚刚经历的拉头发的时间!

于 2012-09-21T23:34:42.267 回答