2013-08-04 5 views
5

Ich versuche, meine App für iPad universal zu konvertieren und was auch immer ich tun kann ich nicht "Splitview-Controller wird voraussichtlich einen View-Controller auf Index 0 haben, bevor es verwendet wird!" Fehler direkt nach der App Sterne.Kann nicht loswerden "Splitview-Controller wird voraussichtlich einen View-Controller auf Index 0 haben, bevor es verwendet wird" -Fehler in iOS6

Ich verwende iOS6 als Ziel, XCode 4.6.3. Versuchte all die Dinge, die ich auf dieser Website und Google finden konnte, half mir überhaupt nicht.

Ich möchte einen TabBar-Controller als eine Haupt (eine in der Split-Controller) und einige andere Controller als ein Detail hinzufügen. Hier ist mein aktueller Code in 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]; 

ich jede Hilfe dankbar würde, danke.

+7

Haben Sie versucht, 'viewControllers' einzustellen, bevor Sie die Ansicht laden, um die Hintergrundfarbe einzustellen? – Wain

+0

@Wain Danke! Das war's. Dumm ich, habe nicht auf dieses Detail geachtet. – titicaca

+0

@Wain Danke, diese Warnung wurde vorher nicht angezeigt. Warum erscheint es nicht plötzlich? – Bejil

Antwort

10

Dank @Wain habe ich es gelöst.

Die Sache war, dass durch das Einrichten eines Hintergrundbilds zu meinem Split-VC ich seine Ansicht geladen wurde. Die Lösung besteht also darin, das ViewControllers-Array vor der Hintergrundfarbe zu setzen.

+1

Dies gilt auch für das Festlegen anderer Eigenschaften des UISplitViewControllers wie 'setPreferredDisplayMode'. Konfigurieren Sie sie einfach nach dem Einstellen der VCs. – fbeeper