Fügen Sie die Ansicht eines untergeordneten Ansichtscontrollers zu einer Unteransicht des übergeordneten Ansichtscontrollers hinzu
Ich möchte einen tableViewController als untergeordneten View-Controller eines containerViewControllers hinzufügen (siehe unten). Nach Angaben von AppleController-Programmierhandbuch anzeigen Ich kann dies durch die folgenden Codezeilen in meinem containerViewController erreichen:
[self addChildViewController:tableViewController];
[self.view addSubview:tableViewController.view];
[tableViewController didMoveToParentViewController:self];
In der Tat funktioniert das gut. Das Problem ist nun, dass ich die tableViewController-Ansicht nicht als Unteransicht der Stammansicht des containerViewController hinzufügen möchte. Stattdessen möchte ich es als Unteransicht der containerView (siehe Bild) hinzufügen, die selbst eine Unteransicht der Stammansicht des containerViewController ist. Also habe ich den obigen Code wie folgt geändert:
[self addChildViewController:tableViewController];
[self.contentView addSubview:tableViewController.view];
[tableViewController didMoveToParentViewController:self];
Wenn ich die App starte, stürzt sie sofort mit folgendem Fehler ab:
Beenden der App aufgrund einer nicht erfassten Ausnahme 'UIViewControllerHierarchyInconsistency', Grund: 'untergeordneter Ansichtscontroller: sollte übergeordneten Ansichtscontroller haben, der tatsächliche übergeordnete Ansichtscontroller ist jedoch:'
Was ist das Problem hier? Ist es nicht möglich, eine childViewController-Ansicht zu einem bestimmten hinzuzufügen?sub Sicht auf seinen ContainerViewController? Oder wie kann ich das ohne Fehler in der View-Controller-Hierarchie erreichen?