【问题标题】:When to use xib and when to use ContainerView?什么时候用xib,什么时候用ContainerView?
【发布时间】:2018-12-17 09:20:53
【问题描述】:

我想知道什么时候使用xib,什么时候使用UIContainerView?

我没有在网上找到任何与此主题相关的文章。它们有什么区别,各自的用途是什么?

【问题讨论】:

  • 对此没有真正的答案。但简而言之,这可能成立:• 如果您不在任何地方使用情节提要,请使用 XIB。 • ContainerViews 与故事板配合得很好,在它之外它只是一个普通的视图。 (在情节提要中,您可以拖放以嵌入另一个控制器)
  • 如果你想重用同一个视图,那么你应该使用 xib 否则容器。

标签: swift xcode xib uicontainerview


【解决方案1】:

我们先说定义:

  • XIB 文件是屏幕/视图的图形表示。
  • UIContainerView 正是它所说的,它是一个包含子视图控制器的视图。

因此,很明显它们不会以相同的方式使用。
XIB 文件是您在 Xcode 中创建的基础文件,链接到 UIViewController,您可以在其中拖放元素来设计屏幕。

UIViewContainer 是这些可拖动元素之一,它只是作为您的 xib(或情节提要,如果您使用它)中的保留空间,您可以在其中轻松“嵌入”另一个 UIViewController。

你有时会在你的主 UIViewController 中添加一个子 UIViewController 吗?你会在代码中做这样的事情:

  • 实例化第二个控制器
  • 在主控制器中添加第二个控制器的视图作为子视图
  • 添加第二个控制器作为主控制器的子控制器
  • 创建约束,以便视图准确显示预期位置

好吧,UIContainerView 正是为了做到这一点,只是现在你不必在代码中这样做,你可以在你的 XIB/Storyboard 中拖动一个 UIContainerView 并直接将第二个控制器链接到那里!

【讨论】:

    【解决方案2】:

    您可以将.xib 设计文件用于独立的View(如custom datePickerView、CustomAlertView、customViews 等)。使用可以在任何你想要的地方使用这个class。

    但是ContainerView,您可以在storyboard 上使用UIViewController 进行设计,它会自动为您生成自己的视图。

    这是嵌入单个ViewController。

    【讨论】:

    • xib 定义了独立的UIView,而不是UIViewController。它可用于初始化控制器的视图,但使用控制器的故事板总是更好。
    猜你喜欢
    • 2011-09-28
    • 2012-08-07
    • 2012-04-05
    • 2020-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多