2015-08-21 67 views
0

在应用程序的某个区域,我想显示3个可能的View Controller s之一。iOS/Swift:一个容器视图可容纳3个可能的视图控制器

我假设我能做到这一点通过添加Container View这样的区域(如下图所示)

enter image description here

的问题是:

1)如何联结的3个孩子View Controller s到这个故事板中的Container View?我是否需要将Container View连接到父母View Controller,然后将其连接到3个孩子?

2)哪个是Swift代码来显示3个View Controller之一,并隐藏其他2个?

+1

https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html –

+0

感谢您的链接。但是,如何将容器视图连接到故事板中的视图控制器?我是否需要使用此方法http://sandmoose.com/post/35714028270/storyboards-with-custom-container-view-controllers以及将ContainerView链接到子视图控制器的ContainerViewController? –

回答

2

我假设当用户第一次进入屏幕时,三个视图控制器中的一个将在那里,并且用户具有切换到不同视图控制器的按钮。

将第一个VC直接附加到故事板中的容器。另外两个可以连接到按钮,使它们来到前台,或直接连接到主VC。

您还需要制定一个自定义的segue类(或两个?),它知道如何处理从一个VC到另一个VC的转换。

---编辑---

这里是一个选项作为github repo。请注意,如果你想在视图控制器之间转换,你还有更多的工作要做,但这应该让你开始。

+0

在我的情况下,实际上没有默认的VC。 3个VC中哪一个必须连接到容器取决于一组规则。我宁愿将这种逻辑包含在3个VC之外。 在这种情况下,你建议使用哪种体系结构?我应该创建一个父VC吗?我如何将父母连接到孩子? –

+0

在这种情况下,您可以将三个VC直接连接到父VC(具有容器视图的VC),并为它们分别命名一个segue。您可以编程方式执行适当的segue。或者,你根本不会打扰塞格斯。为三个VC中的每一个提供一个标识符并以编程方式从故事板对象实例化它们。 –

+0

在这种情况下,如何将Container视图连接到3个VC? –

相关问题