2012-09-21 5 views
2

내 앱이 4.3 및 5.1에서 훌륭하게 작동했습니다. 내가하는 일은 UITabBarController의 단일보기로 로그인보기를 가지고 있으며, 사용자가 로그인하면 내 app은 tabBarItems를 다른 viewControllers (여러 탭) 세트로 변경합니다. iOS5에서 완벽하게 작동했지만 지금은 완전히 iOS6에서 깨졌습니다. 어떻게해야합니까?iOS6에서 tabBarItems의 배열을 전환 할 때 빈 화면이 나타나는 이유는 무엇입니까?

답변

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

을 나는 진정이 난 그냥 겪은 당겨 다른 사람 머리카락의 시간을 절약 할 바랍니다!