在应用程序中有多个导航控制器

时间:2013-01-30 09:35:53

标签: iphone ios objective-c ipad

我被要求使用以下设计模拟应用程序。

enter image description here

大灰色框是主视图区域。 (UIView的)

2个粉红色方块是按钮。它们几乎就像一个tabbar的标签,它们应该如何运作。

我正在努力实现的是在按下按钮时让2个UINavigationbars / Controller出现在UIView(大灰色框)中。当然不是在同一时间,但显示的导航栏/控制器/视图取决于所选的按钮。

通过执行以下操作,我可以使UIViewControllers视图显示正常

    TabViewOne * vcTab = [[TabViewOne alloc] initWithNibName:@"TabViewOne" bundle:[NSBundle mainBundle]];
[self.mainView addSubview:vcTab.view];

这使得TabViewOne的视图出现在我的mainView区域(灰色框)。

我真正希望发生的是,我可以将我的视图显示在此处,但带有导航栏以及它带来的所有功能。我最终会隐藏导航栏,但使用其功能在视图堆栈中上下移动。

这是我试图让它工作但我尝试这个时视图保持空白:

    TabViewOne * vcTab = [[TabViewOne alloc] initWithNibName:@"TabViewOne" bundle:[NSBundle mainBundle]];
UINavigationController * navVC = [[UINavigationController alloc] initWithRootViewController:vcTab];
[[navVC navigationBar] setHidden:YES];

[self.mainView addSubview:navVC.view];

有人可以告诉我如何正确地做到这一点吗?

非常感谢, -code

1 个答案:

答案 0 :(得分:0)

您可以通过小技巧实现您的要求。您可以在那里实现标签栏控制器。在标签栏控制器中,每个标签都可以在单独的导航控制器中运行。在两个选项卡项的根视图控制器中,您必须具有该2按钮设计。如果您使用通用视图并将其添加为子视图,则可以轻松地重复使用它。接下来是它会出现在视图底部的标签栏,因为那里有一个标签栏控制器。您可以通过将其框架矩形设置为不可见的位置来隐藏它。之后,应根据用户按钮单击手动完成选项卡选择。