Fügen Sie die Ansicht eines untergeordneten Ansicht-Controllers einer Unteransicht des übergeordneten Ansicht-Controllers hinzu
Möchte ich hinzufügen, dass ein tableViewController als child-view-controller eines containerViewController (siehe unten). Laut Apple ist View Controller Programming Guide ich können dies erreichen, indem Sie die folgenden Zeilen von code innerhalb meiner containerViewController:
[self addChildViewController:tableViewController];
[self.view addSubview:tableViewController.view];
[tableViewController didMoveToParentViewController:self];
In der Tat, das funktioniert auch. Das problem ist jetzt, dass ich nicht wollen, fügen Sie den tableViewController die Ansicht als unteransicht der containerViewController root-Ansicht. Stattdessen möchte ich hinzufügen, dass es wie eine Untersicht der containerView (siehe Bild), die selbst ist eine Untersicht der containerViewController root-Ansicht. Also änderte ich den obigen code wie folgt:
[self addChildViewController:tableViewController];
[self.contentView addSubview:tableViewController.view];
[tableViewController didMoveToParentViewController:self];
Wenn ich jetzt die app starten stürzt es ab sofort mit diesem Fehler:
Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'child-view-controller: sollten Eltern view-controller: aber die tatsächliche Elternteil:'
Was ist hier das problem? Ist es nicht möglich, eine childViewController Ansicht zu einem bestimmten sub Blick auf seine containerViewController? Oder wie kann ich das erreichen, ohne einen Fehler in der view-controller Hierarchie?
InformationsquelleAutor der Frage Mischa | 2013-06-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es eigentlich egal, welcher Ansicht Sie sind das hinzufügen der Kind-viewController. Wenn eine Ansicht von einem viewController hinzufügen zu einem anderen viewController müssen Sie richtig einstellen.
Quellcode
InformationsquelleAutor der Antwort Anupdas
Hinzufügen und entfernen viewcontroller ,#childviewcontroller
InformationsquelleAutor der Antwort Manjeet
Zu zeigen child_view_controller über eine main_view_controller.
Schritt 1: erstellen Sie eine main_view_controller im storyboard.
Schritt 2: erstellen Sie eine child_view_controller mit einem UIview und einige Aufkleber im im storyboard.
Schritt 3: in main_view_controller die Schaltfläche Aktion hinzufügen den folgenden code:
InformationsquelleAutor der Antwort Ram Madhavan