Laden UIViewController xib zu ContainerView im storyboard
Ich habe einen "container" viewController, dass ein paar container-views mit storyboard.
jeder, der container-Ansicht hat einen link zu einem eingebetteten viewcontroller Sicht.
Da ich die Arbeit an einem großen Projekt, es stellt sich heraus, dass die storyboard-Datei ist riesig und enthält eine Menge von "Kind" viecontrollers-view-layout. es wird ein problem, die Arbeit an dieser Datei, wenn ein paar Leute braucht, um zu arbeiten, die sich gleichzeitig auf ihn. und das ist nicht gut für mich.
ich würde gerne wissen, ob es gibt einen Weg, um die Last in jeder container-Ansicht ein viewcontroller der xib-Datei, und noch storyboard.
Bedeutung, zu erstellen .xib-Dateien für jeden viewcontroller sondern halten Sie Sie in das storyboard selbst, und verknüpfen Sie Sie mit der container-views in das storyboard.
Dank,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du kann bewegen Sie Ihre view-controller-layout in eine separate xib. Wie Sie sagen, dies ist ein sehr bequemer Weg zur Freigabe von layouts über storyboards.
Beim einrichten eines container-view in das storyboard, stellen Sie sicher, dass Sie löschen Sie die bereitgestellten anzeigen in der embedded-ViewController. Legen Sie die benutzerdefinierte Klasse für den ViewController auf Ihre Klasse Namen. Name der xib-um die Klasse (z.B. FooViewController.xib-so kann es gefunden werden, wenn FooViewController.m geladen wird.)
Wenn Sie nicht löschen Sie die Ansicht in der storyboard-Ansicht-controller-layout, sehen Sie, dass leere Ansicht statt. Ihre
viewDidLoad
Methode in der view-controller wird nicht aufgerufen werden, weil die Ansicht die Standard-Ansicht Storyboard.Ich bin mit Xcode 6.1 für iOS 8 auf einem pre-iOS-7-Projekt.
Ja, Sie können. Ein paar Beobachtungen:
Alles, was Sie tun müssen, ist, um in die Art von code, den wir verwendet, um zu verwenden, wenn Sie mit Federn. Im Falle von Containern, das bedeutet, dass die typischen container-Methoden. Wenn Sie noch nicht getan containment per code, siehe Erstellen Von Benutzerdefinierten Container View Controller in der View Controller Programming Guide. Bottom line, wenn Sie die Umstellung auf eine nicht-storyboard-Szene (oder eine nicht-storyboard-Kind-view-controller), nur code, wie Sie es früher immer in der NIB-basierte Umgebung. Sie können für diese NIB-basierte Szene in das storyboard. Aber Sie bekommen nur den controller, wie Sie immer tun, mit Federn:
Du offensichtlich verlieren viele der Vorteile der Verwendung von storyboards (z.B. Dimensionierung der Kind-Szene auf der basis der container-Ansicht in der übergeordneten Szene), aber du bist nicht schlechter dran, als Sie waren in einer NIB-Umgebung. Aber um deine Frage zu beantworten, ob Sie "Verknüpfung, um die container-views in das storyboard", Sie können nicht darstellen, dieses Verhältnis im storyboard selbst, sondern deren Verknüpfung programmgesteuert.
Wenn Ihr getrennte teams arbeiten in der single-Szene-Umgebungen, können Sie mit dieser Feder Ansatz. Sie sollten auch erwägen, obwohl nur mehrere storyboards, eine für jeden logische team. Sie müssen noch die resort-code, wie du den übergang zwischen storyboards, wie Sie in diesem NIB Ansatz, aber wenn eines Ihrer teams mehrere Szenen zu tun, die Sie genießen können, storyboard Vorteile in Ihren Teil des Projekts. Wenn Sie wollen, um die erste Szene in die nächste storyboard können Sie:
Wenn Ihr Kind braucht, um den übergang zu einer neuen Szene auf das storyboard, ich finde es nützlich, eigene
parentStoryboard
Eigentum für mein Kind-controller, der es kann dann nützlich, wenn müssen Sie etwas tun, wieinstantiateViewControllerWithIdentifier
. Natürlich, wenn Sie nicht den übergang zu neuen Controllern, müssen Sie möglicherweise nicht zu tun, aber wenn Sie sind, nachdem einUIStoryboard
Eigenschaft kann nützlich sein.