iOS - UIViewControllers共享一个屏幕

时间:2013-04-18 16:22:20

标签: ios uiviewcontroller interface-builder

我正在编写一个包含两个部分的应用程序:

enter image description here

我的想法是,在上半部分我正在创建一个请求,而在底部我正在显示结果。随着我的UIViewController子类的增长和增长,我认为将它分成两个UIViewController可能是个好主意。 (所以我想做的就像UISplitViewController)。

虽然我知道可以通过编程方式将接口生成器中的两个UIViewController放在屏幕上,这样我就可以管理自动布局和设计。拖放在那里不起作用。

这可能吗?更重要的是 - 这是一个好的设计,还是我应该坚持“一个屏幕的一个视图控制器”规则?

2 个答案:

答案 0 :(得分:2)

您可以使用自定义容器视图控制器来实现您的目标。参见:

简而言之,从iOS 5开始,您不再需要拥有单个视图控制器。只需确保拨打必要的收容相关电话。 iOS 6使用“容器视图”对象更容易为自定义容器设计故事板。

答案 1 :(得分:1)

Apple已经表示(WWDC 2012,视觉控制器的演变,我认为)“屏幕”不再合适。视图控制器应该管理一个独立的功能块。

从iOS5开始,您可以使用视图控制器包含(addChildViewController:等)组成多个视图控制器的界面。从iOS6开始,您可以使用容器和包含段来在界面构建器中执行此操作。

您当然需要一个视图控制器来保存您的两个子视图控制器 - 这个保存一个屏幕内容,并且通常会执行两个孩子之间的任何协调。