在使用storyboard功能的iOS5中,我想创建一个自定义容器,其中嵌入了2 ViewControllers
。例如,在一个ViewController
中嵌入表视图控制器和视图控制器。
也就是说,一个视图控制器将具有2个关系:
UIImage
视图或UIButton
仅使用故事板的拖放功能创建这种类型的关系&不是以编程方式?
答案 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来工作。