如何以编程方式在containerView中添加ViewController?

时间:2016-11-07 05:28:09

标签: swift containers

我知道如果通过界面构建​​器使用插座,如何将ViewController添加到容器中。你只需将一个插座从容器拖到ViewController和boom,所有的设置和完成。但是当它以编程方式进行时,我无法在网上找到任何答案?谁能给我一个示例代码?提前谢谢。

我们说我有2个View Controllers和1个​​containerView。第一个控制器是父控制器,内部是容器视图,而容器视图内部是第二个控制器控制器。

1 个答案:

答案 0 :(得分:2)

您需要首先使用父视图和容器视图添加约束,然后还需要向容器控制器添加约束。最后,您应该在设置所有约束的末尾添加didMoveToParent。

示例如下,您可以在您的情况下执行类似的操作。

 NSLayoutConstraint.activateConstraints([
    containerView.leadingAnchor.constraintEqualToAnchor(view.leadingAnchor, constant: 10),
    containerView.trailingAnchor.constraintEqualToAnchor(view.trailingAnchor, constant: -10),
    containerView.topAnchor.constraintEqualToAnchor(view.topAnchor, constant: 10),
    containerView.bottomAnchor.constraintEqualToAnchor(view.bottomAnchor, constant: -10),
])
NSLayoutConstraint.activateConstraints([
    controller.view.leadingAnchor.constraintEqualToAnchor(containerView.leadingAnchor),
    controller.view.trailingAnchor.constraintEqualToAnchor(containerView.trailingAnchor),
    controller.view.topAnchor.constraintEqualToAnchor(containerView.topAnchor),
    controller.view.bottomAnchor.constraintEqualToAnchor(containerView.bottomAnchor)
])
controller.didMoveToParentViewController(self)

或者您也可以参考:https://codedump.io/share/jVuaGlB85VtK/1/how-to-add-a-container-view-programmatically