iOS-Nested-View-Controller in der UIViewController-Ansicht anzeigen?
Ist es in der Regel schlechter Programmierstil in iOS zu haben, eine geschachtelte view-controller - Blick in UIViewController Sicht? Sagen zum Beispiel wollte ich eine Art interaktives element, dass die Antwort des Benutzers berührt, aber nur vielleicht 25% des Bildschirms.
Ich glaube, ich würde hinzufügen, diese geschachtelte view-controller, um meine UIViewController von etwas zu sagen wie:
[self.view addSubview: nestedViewController.view];
InformationsquelleAutor der Frage Skyler | 2013-07-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nein, dies ist in der Regel ein gutes design haben, hilft es, halten Sie Ihre view-Controller prägnant. Allerdings sollten Sie mit Hilfe der view-controller-containment-Muster, werfen Sie einen Blick auf die folgende Dokumentation.
Die Implementierung einer Container-View-Controller
Dies ist unglaublich einfach, um das setup mithilfe der Interface Builder mit Storyboards sowie, nehmen Sie einen Blick auf die Container-Ansicht in der Objekt-Bibliothek.
Hier ist ein erfundenes Beispiel in ein Storyboard. In diesem Beispiel müssten Sie 4 view-Controller, einer, der hält die 3 Behälter und eine für jeden container. Wenn Sie sich auf der linken Seite die meisten controller, der über alle Container, die Storyboard automatisch initialisiert, und Betten Sie die anderen 3. Sie können diese untergeordneten view-Controller über die
childViewControllers
Eigenschaft, oder es gibt eine Methode, die Sie überschreiben könnenprepareForSegue:sender:
und erfassen der Ziel-view-Controller der übergang über aufgerufen werden. Dies ist auch ein guter Punkt, um pass-Eigenschaften der child-view-Controller, falls welche benötigt werden.InformationsquelleAutor der Antwort Chris Wagner
Ich diesen code in das parent-view-controller. Es funktioniert großartig für mich.
Obj-C
Swift:
Andere option ist die Verwendung von IB und setzen der container-Ansicht. UIViewController wird automatisch angezeigt (XCode 9 in diesem Fall):
InformationsquelleAutor der Antwort Maciek z Wrocławia
Hier ist mein Swift 3-Lösung basiert auf Swift-Entwickler Auf FB die Antwort
InformationsquelleAutor der Antwort Rajat Jain