如何在iOS 5中使用故事板创建自定义视图控制器容器

时间:2011-11-14 13:40:07

标签: ios5 storyboard

在使用storyboard功能的iOS5中,我想创建一个自定义容器,其中嵌入了2 ViewControllers。例如,在一个ViewController中嵌入表视图控制器和视图控制器。

也就是说,一个视图控制器将具有2个关系:

  1. 到表视图控制器
  2. 查看控制器,而控制器又有4个UIImage视图或UIButton
  3. 仅使用故事板的拖放功能创建这种类型的关系&不是以编程方式?

2 个答案:

答案 0 :(得分:14)

,您应该只有一个视图控制器来控制场景。但是,此viewController可能有两个其他视图控制器来控制场景中的特定子视图。为此,您可以在场景viewController中创建属性,在您的情况下为tableViewController创建属性,为视图创建一个属性。我喜欢把事情放在一起所以我创建了这些viewControllers插件并在界面构建器中创建它们。要在界面构建器中创建它们,请从Object库中提取Object,并将其类型设置为相关的viewController。将它连接到您刚刚在场景的viewController中创建的相应插座 - 注意:这很重要,否则如果您使用ARC并使应用程序崩溃,则会释放viewController。然后将这些viewControllers挂钩到您希望它们控制的视图,并且您已完成。

或者,如果您愿意,可以在场景viewController中实例化并跳转viewControllers。

希望这有帮助。

编辑:反思这不是一个好主意,实际上与HIG相反,你应该为每个内容屏幕只维护一个ViewController,而是尝试创建一个合适的视图类,并让单个视图控制器处理之间的交互各种观点。

答案 1 :(得分:0)

有一种方法可以做到 hacky。它在UITabBarControllers的以下URL中描述,您可以使用列表中的第一个视图控制器控制第一个子视图,第二个控制另一个子视图。或者,您可以调整代码以使用UISplitViewController。

http://bartlettpublishing.com/site/bartpub/blog/3/entry/351

基本上,它通过在iOS完成配置后在运行时替换tabbarcontroller来工作。