我正在编写一个包含两个部分的应用程序:
我的想法是,在上半部分我正在创建一个请求,而在底部我正在显示结果。随着我的UIViewController
子类的增长和增长,我认为将它分成两个UIViewController
可能是个好主意。 (所以我想做的就像UISplitViewController
)。
虽然我知道可以通过编程方式将接口生成器中的两个UIViewController
放在屏幕上,这样我就可以管理自动布局和设计。拖放在那里不起作用。
这可能吗?更重要的是 - 这是一个好的设计,还是我应该坚持“一个屏幕的一个视图控制器”规则?
答案 0 :(得分:2)
您可以使用自定义容器视图控制器来实现您的目标。参见:
UIViewController Containment上的WWDC 2011#102(需要Apple开发者ID)
View Controller编程指南的containment section
UIViewController参考文档的containment section
简而言之,从iOS 5开始,您不再需要拥有单个视图控制器。只需确保拨打必要的收容相关电话。 iOS 6使用“容器视图”对象更容易为自定义容器设计故事板。
答案 1 :(得分:1)
Apple已经表示(WWDC 2012,视觉控制器的演变,我认为)“屏幕”不再合适。视图控制器应该管理一个独立的功能块。
从iOS5开始,您可以使用视图控制器包含(addChildViewController:
等)组成多个视图控制器的界面。从iOS6开始,您可以使用容器和包含段来在界面构建器中执行此操作。
您当然需要一个视图控制器来保存您的两个子视图控制器 - 这个将保存一个屏幕内容,并且通常会执行两个孩子之间的任何协调。