【发布时间】:2019-05-02 03:49:50
【问题描述】:
我的情况是,现在我的应用程序使用 12 个 ViewController。 每个都有两个 ContainerView,它们拥有相同的控件集(我将它们称为控制组),并通过 segues 显示它们。 到目前为止,这是可行的,但我必须为相同的两个 ContainerViews 布局和设置约束 12 次 - 每个 VC 一次。如果我添加另一个 VC,那么我必须重新布置它们,等等。如果我更改布局的任何部分,那么我必须一次又一次地修改所有 12 个 - 它不是真正可扩展的。
在我看来,如果两个控制组位于一个还包含 ContainerView 的 VC 上会更容易。然后,如果 ContainerView 可以在十二个视图中的每一个之间切换,那么维护起来会容易得多。
例如像这样的样机:
这个模型显示了同一个 VC 上的两个控制容器“Upper”和“Lower”。介于两者之间的是 ContainerView,它将显示所需的 VC。
当然,ContainerViews 只能嵌入一个 VC,所以我见过的最接近的解决方案是将 12 个 ContainerViews 放在一起 - 看起来还是很乱。
我不一定需要使用 ContainerView - 但是,有一些不错的功能,例如限制 VC 的大小并使其符合其尺寸,这使得布局内容更容易。
我怎样才能得到这种结构和行为? (注意:我也希望能够使用 Storyboard)
【问题讨论】:
-
"ContainerViews 只能嵌入单个 VC" -- 虽然您只能将一个 VC 指定为故事板中的嵌入 VC,但您可以轻松更改子 VC运行时的容器视图。这是一个很好的解释(Obj-C,但代码很少,很容易翻译成 Swift):stackoverflow.com/a/19163585/6257435
-
@DonMag 有趣....感谢您发布此内容 - 我在搜索中没有找到它。我一定会测试代码。
标签: ios xcode uiviewcontroller swift4 uicontainerview