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

Say*_*ali 23 storyboard ios5

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

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

  1. 到表视图控制器
  2. 查看控制器,而控制器又有4个UIImage视图或UIButton其中

是否可以使用storyboard的拖放功能创建这种类型的关系而不是以编程方式?

Sco*_*ood 14

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

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

希望这可以帮助.

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

  • Scott,关于你的编辑:UIViewConroller Containment在iOS 5中被添加用于此目的(允许在单个"场景"中有多个控制器).我似乎只是文档和示例很轻,非常基本或不存在.你的榜样是一个很好的开始.有关如何使用UINavigationController代替UITableView的任何想法? (4认同)
  • 我们可以为视图创建插座,但如何在故事板中创建viewController的插座? (3认同)
  • 打开界面构建器并选择故事板.在右下角,您将看到对象库(将视图控制器和视图从中拉出)类型对象到搜索框中,您将看到小黄色/橙色对象将其拖到场景中并在身份检查器中将其类型更改为你的视图控制器.然后连接场景中的视图以便控制它.在你的代码中,只有一个用于视图控制器类的IBOutlet,并将对象连接到该类. (2认同)
  • 我已经汇总了一个如何做到这一点的例子你可以在这里下载源代码,http://www.scott-sherwood.com/?sattachment_id = 564希望这有助于 (2认同)