我的应用程序中有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放在我的所有视图控制器中?或者有另一个解决方案吗?
答案 0 :(得分:0)
您只能将UISplitViewController用作应用的根视图控制器。在您的情况下,您可以实现自定义容器视图控制器,其功能类似于拆分(主要内部的两个子视图控制器)。有关详细信息,请关注this link。