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

问题描述:

子视图和容器视图之间的区别是什么。我有一段代码是通过编程方式添加子视图成功工作的。但我希望能够在编辑器中将子视图放在代码中。我唯一能找到的就是containerview。有什么区别,可以互换使用。子视图和容器视图之间的IOS区别

谢谢。

+1

“子视图”不是真的。这是一种观点的通用术语,是另一种观点的后裔。同样,“containerview”不是一件事情。同样,这只是一个常见的术语(通常是ViewController的子类),它包含其他视图(通常为这些视图提供服务) – Tibrogargan

当你已经有一个视图,并且你不需要专门的视图控制器来构建和处理它内部的交互时,就可以使用UIView。

从UIView的帮助页面:

的UIView对象声称其封闭上海华盈(其在视图层次父)的矩形区域,并负责所有在该区域中描画......

简化结构:YourViewController ---(has)---> UIView

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

从UIContainerView帮助页面:

容器视图定义视图控制器的视图子图内的区域,可以包括子视图控制器。

简化的结构:YourViewController ---(具有)---> SubViewContoller ---(具有)--->的UIView

即SubViewController返回一个视图,并处理它的事件。

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