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

Swift 如何以编程方式在containerView中添加ViewController?,swift,containers,Swift,Containers,如果通过interface builder使用插座,我知道如何将ViewController添加到容器中。您只需将一个插座从容器拖到ViewController和boom,一切都已设置完毕。但是当涉及到编程时,我在网上找不到任何答案?谁能给我一个示例代码?提前谢谢 假设我有两个视图控制器和一个containerView。第一个控制器是父控制器,内部是容器视图,而containerView内部是第二个视图控制器。首先需要使用父视图和容器视图添加约束,然后还需要向容器控制器添加约束。最后,您应该在设

如果通过interface builder使用插座,我知道如何将ViewController添加到容器中。您只需将一个插座从容器拖到ViewController和boom,一切都已设置完毕。但是当涉及到编程时,我在网上找不到任何答案?谁能给我一个示例代码?提前谢谢


假设我有两个视图控制器和一个containerView。第一个控制器是父控制器,内部是容器视图,而containerView内部是第二个视图控制器。

首先需要使用父视图和容器视图添加约束,然后还需要向容器控制器添加约束。最后,您应该在设置所有约束的末尾添加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)

或者您也可以参考以下内容:

您需要首先使用父视图和容器视图添加约束,然后还需要向容器控制器添加约束。最后,您应该在设置所有约束的末尾添加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)

或者您也可以参考以下内容:

我修改了我的问题和标题,我想您误解了我的问题,但我还是要感谢您对我的帮助。请再次检查我的问题,先生。对于样品,您可以通过链接。谢谢,我想这就是我要找的。但如果你同意的话,我会接受你的答案,一旦我证明它有效。我修改了我的问题和标题,我想你误解了我的问题,但我还是要感谢你帮助我。请再次检查我的问题,先生。对于样品,您可以通过链接。谢谢,我想这就是我要找的。但如果你同意的话,我会接受你的答案,一旦我证明它是有效的。