iOS,iPad-具有相同主视图和详细视图控制器的多个拆分视图控制器

时间:2014-03-07 13:28:48

标签: ios ipad uisplitviewcontroller uitabbar

我有标签应用程序,3个标签包含完全相同的屏幕,只有不同的数据。

为了实现这些屏幕的功能,我使用了分割视图控制器。 我需要做的是创建3个选项卡,所有选项卡都使用此拆分视图控制器(具有相同的主视图和详细视图控制器),而不会在故事板中三次复制主视图控制器和详细视图控制器。

我尝试创建三个拆分视图控制器,并将它们全部链接到一个主视图控制器和一个详细视图控制器,但这不起作用。这些控制器中只有一个实际使用它们。其他只是显示黑屏。

有关如何做到这一点的任何提示?

1 个答案:

答案 0 :(得分:1)

我认为我使用以下方法让它工作:

在故事板中,Split View Controller的Storyboard ID为'splitVc':

Storyboard Layout

然后,我在AppDelegate中使用了以下代码:

- (BOOL)application:(UIApplication *)application 
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    UISplitViewController *splitVc1 = [self.window.rootViewController.storyboard
        instantiateViewControllerWithIdentifier:@"splitVc"];

    UISplitViewController *splitVc2 = [self.window.rootViewController.storyboard
        instantiateViewControllerWithIdentifier:@"splitVc"];

    UISplitViewController *splitVc3 = [self.window.rootViewController.storyboard
        instantiateViewControllerWithIdentifier:@"splitVc"];

    UITabBarController *tabBarVc    = (UITabBarController *)self.window.rootViewController;

    tabBarVc.viewControllers        = @[splitVc1, splitVc2, splitVc3];
    return YES;
}

这给了我似乎是UISplitViewController的3个独立实例,每个实例都分配给UITabBarController中的3个选项卡中的1个,这是我UIWindow的根视图控制器。

这就是你想要的吗?