2016-08-06 23 views
6

Ich entwickle derzeit iOS-Apps mit swift. Ich möchte meine Apps ohne Storyboard nur mit den XIB-Dateien entwickeln und meine Ansichten und Controller mit separaten Gruppen gruppieren. Aber ich habe eine fehlende Sache in XIB-Datei erkannt. Ich kann die Top-Layout-Anleitung und die untere Layout-Anleitung in der XIB-Datei nicht sehen. Ich möchte meine UIControls gemäß den Layout-Anleitungen anordnen. Aber da ist niemand? Gibt es eine andere Möglichkeit, Constraints mit dem Toplayout-Guide mit Interface Builder zu erstellen, ohne Storyboards zu verwenden?iOS: Wo ist die Top-Layout-Anleitung in Xib-Datei Interface Builder?

Vielen Dank im Voraus.

+0

Layout-Guide ist eine Eigenschaft des View-Controllers. Wo ist dein View-Controller in dieser XIB-Datei? – matt

+0

Ich habe ViewController in meiner XIB-Datei nicht. Gibt es eine Möglichkeit, einen Viewcontroller zur XIB-Datei im Interface Builder hinzuzufügen? –

+0

Natürlich. Aber das ist nicht gerade mein Punkt. Mein Punkt ist, dass ohne einen View-Controller die Frage keinen Sinn ergibt. Wenn Sie ein Layout für den Layout-Guide in der nib erstellen möchten, müssen Sie einen View-Controller in der nib haben, da dies der Layout-Guide ist. – matt

Antwort

2

Wenn Sie nicht möchten, dass die gesamte Ansicht des ViewControllers sich unter UINavigationBar erstreckt, wenn eine vorhanden ist. Deaktivieren Sie die edgesForExtendedLayout-Eigenschaft des UIViewController.

self.edgesForExtendedLayout = [] 
0

Wenn, indem Sie durch die „Neue Datei“ Route eine Viewcontroller-Klasse erstellen und hat kein Top-tickte, Xcode erzeugt eine xib Datei mit dem Viewcontroller des „View“ drin, daher gibt es „auch XIB-Datei erstellen“ Layout Guide oder Bottom Layout Guide (sie kommen mit "View Controller").

Wenn Sie die Layout-Guides benötigen, können Sie die "Ansicht" entfernen und einen "View-Controller" hineinziehen. Denken Sie daran, das "Class" -Feld des "View-Controllers" nachträglich festzulegen.

+0

Ich habe dies getan, aber habe diesen Fehler stattdessen: ('UIViewControllerHierarchyInconsistency', Grund: 'Eine Ansicht kann immer nur mit höchstens einem View-Controller verknüpft sein! View ist verknüpft mit', 'Löschen Sie diese Zuordnung, bevor Sie diese Ansicht verknüpfen "). Sind Sie sicher, dass Sie ein View-Controller-Objekt in ein anderes View-Controller-Xib einfügen können? Https://stackoverflow.com/questions/13357788/a-view-can-only-be-associated-with-at-most- One-View-Controller-auf-Zeit-Uisegm – Jay