是否可以仅将视图控制器的一部分嵌入容器视图中?

时间:2019-10-06 01:36:29

标签: ios swift xcode

我想创建一个视图控制器,该控制器将重用我的应用程序中其他控制器的某些部分。理想情况下,新控制器将具有3个容器,其中一个用于标头(c1)的容器,另外两个在其下面的容器(c2和c3)。

因此,对于c1,我试图仅从保存标头的控制器中嵌入视图,但在情节提要中执行此操作仅允许我将整个视图控制器嵌入标头所在的位置。当我尝试从容器拖动到标题中时,整个视图控制器将突出显示,并且我无法单独选择标题。我也尝试过仅复制标头,但这是很多重复的代码。

当尝试在c2中嵌入现有表视图时,我还将面临同样的挑战。那么有可能仅将控制器的一部分嵌入容器视图中吗?我不必坚持情节提要,因此,如果有人可以分享他们以编程方式解决此问题的方式,那也会有很大帮助。

1 个答案:

答案 0 :(得分:2)

您要做的是将可重用的视图放在 .xib 文件中。这是完美复制复杂的视图层次结构的方法。每次在 .xib 文件中加载文件时,您都将获得在Interface Builder中设计的整个视图及其子视图的新副本。加载必须用代码完成,但是有一些方法可以自动创建一个超级视图。

此屏幕快照演示:

enter image description here

这里没有重复项,只是自动创建了同一 .xib 文件的三个独立副本。它们全都在一个屏幕中,但这只是为了轻松制作屏幕截图;这些元素可以在应用程序界面的任何位置。

enter image description here