5

我正在尝试将我的应用程序转换为通用的 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];

我会很感激任何帮助,谢谢。

4

1 回答 1

10

感谢@Wain,我解决了它。

问题是通过为我的拆分 vc 设置背景图像,我正在加载它的视图。所以解决方法是在设置背景色之前设置 viewControllers 数组。

于 2013-08-04T18:39:00.070 回答