SplitViewController中只有一个现有的5个视图?

时间:2014-04-17 18:55:35

标签: ios objective-c uisplitviewcontroller

我的应用程序中有5个视图,我通过以下方式设置appDelegate:

    UITabBarController *tabBarController = [[UITabBarController alloc] init];
        tabBarController.viewControllers = [NSArray arrayWithObjects:navigationcontroller1, navigationcontroller7, navigationcontroller5, navigationcontroller4, navigationcontroller6, navigationcontroller2, nil];

self.window.rootViewController = tabBarController;

所有这些都带有一个NavigationController和tabbarcontroller,但我需要将屏幕分成两部分,在这种情况下,屏幕将被分割为navigationcontroller2,如下所示:

VendaViewController *venda_viewcontroller = [[VendaViewController alloc] init];
    UINavigationController *navigationcontroller2 = [[UINavigationController alloc] init];
    [navigationcontroller2 pushViewController:venda_viewcontroller animated:YES];

因此我尝试了以下方式:

VendaViewController *venda_viewcontroller = [[VendaViewController alloc] init];
VendaDetailViewController *vendaDetail_viewcontroller = [[VendaDetailViewController alloc] init];

UISplitViewController *splitVC = [[UISplitViewController alloc] init];

[splitVC setViewControllers:[NSArray arrayWithObjects:venda_viewcontroller,vendaDetail_viewcontroller,nil]];

    UINavigationController *navigationcontroller2 = [[UINavigationController alloc] init];
    [navigationcontroller2 pushViewController:splitVC animated:YES];

但是不能在这段代码中工作,但是在UISplitViewController的文档中写了以下消息:

  

"您必须始终从UISplitViewController对象安装视图   作为应用程序窗口的根视图。 [...] 拆分视图   控制器不能以模态方式呈现。"

所以...如果我想在我的视图控制器中放置一个splitViewController,我将不得不将splitViewController放在我的所有视图控制器中?或者有另一个解决方案吗?

1 个答案:

答案 0 :(得分:0)

您只能将UISplitViewController用作应用的根视图控制器。在您的情况下,您可以实现自定义容器视图控制器,其功能类似于拆分(主要内部的两个子视图控制器)。有关详细信息,请关注this link