我有MainVC而不是包含2个标签:FirstVC和SecondVC。
然后我点击我想要在所需的View / VC下面显示的一些水龙头。
我正在与Nib一起开展这个项目,所以我对此感到困惑。
我应该在这里使用那个对象吗?视图?怎么样?
我如何使用MainVC 2根据标签查看隐藏/显示的内容。
在FirstVC中我需要加载tableView。在SecondVC中 - simpleView
那么,有人可以给我一些如何更聪明地完成这件事的建议吗?
答案 0 :(得分:0)
您可能想要使用容器视图控制器,我在一段时间后发表了博客。 (见http://www.notthepainter.com/container-view-controllers/)
将来粘贴的文字:
OS5增加了许多iOS开发人员需要的东西,容器视图控制器。这允许您将视图控制器放在另一个视图控制器中。由于无数原因,这很精彩,但吸引我的是重用和抽象。
我正在开发一个有两个相似窗口的应用程序,它们有一个顶部(正文)和一个页脚。顶部很容易,他们每个人都有自己的UIViewControllers。但是当我去添加第二个页脚时,我开始考虑干,我正在重复自己,这从来都不是一个好主意。所以我抽象出了一个父类,然后我将页脚代码插入并且卡住了,我希望我的页脚也是视图控制器。
我记得我参加过有关新的iOS5功能和容器视图控制器的演讲。经过一段谷歌搜索后,我有了它。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
// set up the footer contained view, this has nothing to do with table footers, this is below
// the tableview
//
FooterViewController *vc = [[FooterViewController alloc] initWithNibName:@"FooterViewController" bundle:nil];
vc.view.frame = self.footerFPOView.frame;
vc.delegate = self;
[self addChildViewController:vc];
[vc didMoveToParentViewController:self];
[self.view addSubview: vc.view];
}
当然有几点需要注意。首先,万岁,我正在从xib文件中加载我的页脚。我在外部视图控制器的xib中放置了一个名为footerFPOView的UIVIew,这是我一直使用的技巧。 FPO代表For Position Only,它允许我使用界面构建器进行定位。我与协议沟通,因此代表。然后我调用addChildViewController来添加它,然后告诉新的它有一个新的父节点,最后添加它的视图。
这只是几行代码,但窗口应响应两个视图控制器并响应旋转。