【问题标题】:IOS difference between subview and container viewIOS子视图和容器视图的区别
【发布时间】:2016-12-20 04:12:23
【问题描述】:

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

谢谢。

【问题讨论】:

  • “子视图”并不是真正的东西。这是一个视图的通用术语,它是另一个视图的后代。同样,“containerview”也不是一回事。同样,它只是包含其他视图(通常为这些视图提供服务)的视图(通常是 ViewController 的子类)的通用术语

标签: ios xcode subview uicontainerview


【解决方案1】:

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

来自 UIView 帮助页面:

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

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

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

来自 UIContainerView 帮助页面:

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

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

SubViewController 返回一个视图并处理其事件。

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

【讨论】:

    猜你喜欢
    • 2015-07-10
    • 2015-04-12
    • 2012-01-29
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多