So erstellen Sie eine container - /Kind-viewcontroller-Beziehung im interface builder

Erstellen von code, die eine Eltern/Kind-Beziehung zwischen 2 view-Controller im Grunde ist es nur eine Frage der etwas wie:

[self addChildViewController:childViewController];
[self.view addSubview:childViewController.view];

wo selbst wird die parent-view-Controllers.

Aber, was ist, wenn ich will erstellen Sie die gleiche Beziehung vollständig vom Interface Builder?

Oder in anderen Worten: gibt es eine Möglichkeit, neu zu erstellen, die das Verhalten der Methode addChildViewController mit Interface Builder?

Ich habe nicht eine Menge an Dokumentation, hier ist eine alte ungelöste Beitrag über das Thema: https://devforums.apple.com/message/455758#455758

Ohne richtig einrichten addChildViewController Beziehung, keine der Drehung Methoden weitergeleitet werden, um mein Kind view-controller, wobei hier meine Frage kommen.

Dies ist, was ich getan habe, in IB:

  1. ziehen und ließ ein "View-Controller" - Objekt aus der "Object Library" - panel in die "Objekte" - panel -
  2. im identity-inspector, ich habe mich verändert seine Klasse zu meinem UIViewController-Unterklasse ("Items View-Controller")
  3. verbunden die Aussicht Steckdose an den controller
  4. angeschlossen alle anderen erforderlichen Anschlüsse der controller (Liste, name, Table View)

Den ersten "View" - Objekt in das Bild ist die Ansicht meiner Eltern view-controller, anstatt das markierte "View" ist die Sicht auf die child-view-controller ("Item View-Controller").

So erstellen Sie eine container - /Kind-viewcontroller-Beziehung im interface builder

Container-controller auch behalten Ihr Kind etwa durch eine zusätzliche IBOutlet:

@property (nonatomic, strong) IBOutlet ItemsViewController *itemsViewController;

Dank


Update 1: Wenn ich manuell die Eltern/Kind-Beziehung in viewDidLoad des container-controller, all die rotation Methoden korrekt an das Kind.

[self addChildViewController:self.itemsViewController];

Aber ich weiß wirklich nicht, ob dies der richtige Weg, das zu tun, da würde ich gerne tun, alle mit IB.


Update 2: Dank @micantox für seinen Hinweis zur Verwendung der "Container-Blick" in die Objekt-Bibliothek, die ich umgesetzt habe meine xib-Datei, um ein Storyboard und jetzt ist das Kind view-controller Hinzugefügt, um seine Eltern, so dass ich nicht haben, um es manuell hinzufügen von code mit addChildViewController und die rotation Methoden weitergeleitet werden, wie erwartet.

"Container Anzeigen" im Grunde implementiert der einbetten segue und wird nur unterstützt, von iOS 6.

Dies ist eine aktualisierte screenshot von meinem Storyboard:

So erstellen Sie eine container - /Kind-viewcontroller-Beziehung im interface builder

InformationsquelleAutor ggould75 | 2013-05-13
Schreibe einen Kommentar