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?

Fügen Sie die Ansicht eines untergeordneten Ansicht-Controllers einer Unteransicht des übergeordneten Ansicht-Controllers hinzu

InformationsquelleAutor der Frage Mischa | 2013-06-09

Schreibe einen Kommentar