我正在尝试将我的应用程序转换为通用的iPad支持,无论我做什么,我无法摆脱“Splitview控制器在使用之前应该在索引0处有一个视图控制器!”应用程序明星后立即出错。
我使用iOS6作为目标,XCode 4.6.3。尝试了我在这个网站和谷歌上找到的所有东西,根本没有帮助我。
我想添加一个TabBar控制器作为主控制器(左侧一个在拆分控制器中)和一些其他控制器作为详细控制器。 这是我在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];
感谢您的帮助,谢谢。
答案 0 :(得分:10)
感谢@Wain,我解决了它。
事情是,通过为我的分割vc设置背景图像,我正在加载它的视图。 所以解决方案是在设置背景颜色之前设置viewControllers数组。