IOS 子视图和容器视图的区别

IOS difference between subview and container view

子视图和容器视图有什么区别。我有一段代码可以通过以编程方式添加子视图来成功运行。但我希望能够在编辑器中而不是在代码中布置子视图。我唯一能找到的是 containerview。它们有什么区别,可以互换使用吗

谢谢。

当您已经有一个视图并且不需要专用的视图控制器来构建和处理其中的交互时,您可以使用 UIView。

来自 UIView 帮助页面:

UIView 对象声明其封闭父视图(其在视图层次结构中的父视图)的矩形区域,并负责该区域中的所有绘图...

Simplified structure: YourViewController ---(has)---> UIView

当您需要在已有的视图控制器中嵌入另一个视图控制器时,您可以使用 UIContainerView。嵌入式视图控制器负责返回 UIViewContainer 占据的区域的视图。因此,您的 UIContainerView 知道使用哪个视图控制器在其占用的区域内呈现 UIView。

来自 UIContainerView 帮助页面:

容器视图在视图控制器的视图子图中定义了一个区域,该区域可以包含子视图控制器。

Simplified structure: YourViewController ---(has)---> SubViewContoller ---(has)---> UIView

SubViewController returns 一个视图并处理它的事件。

最后,如果你想学习如何布局子视图,我无法在这里解释,所以你可能需要阅读其中一个教程。 https://www.raywenderlich.com/113388/storyboards-tutorial-in-ios-9-part-1