2016-11-07 3 views
0

Ich weiß, wie Sie einen ViewController zu einem Container hinzufügen, wenn Sie eine Steckdose über Interface Builder verwenden. Sie ziehen einfach eine Steckdose aus dem Container zu ViewController und Boom, alles fertig und fertig. Aber wenn es darum geht, es programmatisch zu tun, kann ich keine Antwort im Netz finden? Kann mir jemand einen Beispielcode geben? Danke im Voraus.Wie fügt man einen ViewController in containerView programmatisch hinzu?

Sagen wir, ich habe 2 View Controller und 1 ContainerView. Der erste Controller ist der übergeordnete und der innere ist die Containeransicht und innerhalb des containerView ist der secondView Controller.

Antwort

2

Zuerst müssen Sie Beschränkungen mit der übergeordneten Ansicht und der Containeransicht hinzufügen. Anschließend müssen Sie Ihrem Container-Controller weitere Einschränkungen hinzufügen. Schließlich sollten Sie das didMoveToParent am Ende der Festlegung aller Einschränkungen hinzufügen.

Das Beispiel ist wie folgt, Sie können eine ähnliche Sache in Ihrem Fall tun.

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) 

oder Sie können auch diese verweisen: https://codedump.io/share/jVuaGlB85VtK/1/how-to-add-a-container-view-programmatically

+0

ich meine Frage und Titel überarbeitet, ich glaube, Sie meine Frage falsch verstanden, aber trotzdem möchte ich Ihnen danken, dass er mir helfen. Bitte versuchen Sie es erneut mit meiner Frage. –

+0

Für die Probe können Sie über den Link gehen – Aditya

+0

Danke, ich denke, das ist, was ich suche. Aber wenn es dir gut geht, akzeptiere ich deine Antwort, sobald ich bewiesen habe, dass es funktioniert. –

Verwandte Themen