2

私のアプリは 4.3 と 5.1 でうまく機能していました。私がしていることは、UITabBarController の単一のビューとしてログイン ビューを持っていることです。ユーザーがログインすると、アプリは tabBarItems を別の一連の viewControllers (多くのタブ) に変更します。iOS5 では完璧に動作していましたが、iOS6 では完全に機能しなくなりました。どうすればよいでしょうか。

4

1 に答える 1

2

私はこれに何時間も費やし、ついに問題を発見しました。tabBar 配列を切り替えるだけでは、viewControllers は通常と同じ初期化を実行しないようです。解決策は、最初に 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 に答える