2013-08-04 4 views
5

Próbuję przekonwertować moją aplikację na uniwersalną obsługę iPada i cokolwiek robię, nie mogę pozbyć się "Sterownik Splitview ma mieć kontroler widoku w indeksie 0, zanim zostanie użyty!" błąd tuż po gwiazdach aplikacji.Nie można się pozbyć "Sterownik Splitview ma mieć kontroler widoku w indeksie 0, zanim zostanie użyty" Błąd w iOS6

Używam iOS6 jako celu, XCode 4.6.3. Wypróbowałem wszystkie rzeczy, które mogłem znaleźć na tej stronie i w Google, wcale mi nie pomogło.

Chcę dodać kontroler TabBar jako główny (lewy w sterowniku podziału) i kilka innych kontrolerów jako jeden szczegół. Tu jest mój bieżący kod w AppDelegate.m:

tabController = [[UITabBarController alloc] init]; 
[tabController setViewControllers:[NSArray arrayWithObjects:navAddVC, nav, svcNav, stvcNav, nil]]; 
FirstDetailViewController *fdvc = [[FirstDetailViewController alloc]; 
initWithNibName:@"FirstDetailViewController" bundle:nil]; 
UINavigationController *fdvcNav = [[UINavigationController alloc] initWithRootViewController:fdvc]; 
viewControllers = [[NSArray alloc] initWithObjects:tabController, fdvcNav, nil]; 
UISplitViewController *splitvc = [[UISplitViewController alloc] initWithNibName:nil bundle:nil]; 
[[splitvc view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"splitViewControllerBG"]]]; 
[splitvc setViewControllers:viewControllers]; 
[splitvc setDelegate:fdvc]; 
[[self window] setRootViewController:splitvc]; 
[[self window] makeKeyAndVisible]; 

będę wdzięczny za każdą pomoc, dzięki.

+7

Czy próbowałeś ustawić 'viewControllers' przed załadowaniem widoku, aby ustawić kolor tła? – Wain

+0

@ Wain Dziękujemy! To było to. Głupi, nie zwracałem uwagi na ten szczegół. – titicaca

+0

@Wain Dzięki, to ostrzeżenie nie było wcześniej wyświetlane. Dlaczego nie pojawia się nagle? – Bejil

Odpowiedz

10

Dzięki @Wain rozwiązałem go.

Chodziło o to, że ustawiając obraz tła na mój split vc, ładowałem jego widok. Rozwiązaniem jest ustawienie tablicy viewControllers przed ustawieniem koloru tła.

+1

Dotyczy to również ustawiania innych właściwości kontrolera UISplitViewController, takich jak 'setPreferredDisplayMode'. Po prostu skonfiguruj je po ustawieniu VC. – fbeeper

Powiązane problemy