web-dev-qa-db-de.com

Storyboard-Auto-Layout: "Leerzeichen an Container" und "Unteres Layout an Boden"

Könnte mir jemand helfen, den Unterschied zwischen "nachlaufendem Platz zum Container" und "unterem Platz zum unteren Layout" im automatischen Layout des Schnittstellen-Generators zu verstehen? 

Interface Builder Auto Layout Constraints

Ich möchte eine Layoutbeschränkung festlegen, die den unteren Teil einer Ansicht mit dem unteren Teil des Superview verbindet. Beide klingen so, als müssten sie das erreichen. 

Jede Klarstellung wäre sehr dankbar. 

16
bbrame

Vorder-/Nachlauf ist horizontaler Abstand. (Es wird nicht als "links" und "rechts" bezeichnet, da es von rechts nach links wechselt.) Oben/Unten ist genau das, was es sagt.

"An Container" und "An Layout Guide" sind unterschiedlich definiert, funktionieren aber in der Praxis ähnlich. "To Container" -Einschränkungen steuern den Abstand zwischen einem UI-Element und dem Rand seines Superview (oder eines anderen enthaltenden UI-Elements). "To Layout Guide" -Einschränkungen stellen einen Sonderfall für vertikale Abstände dar. Da Ansichten unter transparenten Navigations-/Status-/Registerkartenleisten in iOS 7 verlaufen, möchten Sie im Allgemeinen steuern, wo ein Oberflächenelement relativ zu den Elementen anstelle des Randes von angezeigt wird Aussicht.

So... 

Ich möchte eine Layoutbeschränkung festlegen, die den unteren Teil einer Ansicht mit dem unteren Teil des Superview verbindet.

"Bottom Space to Bottom Layout Guide" ist das, was Sie wollen. Dadurch wird der Abstand relativ zum unteren Rand des Superview festgelegt, wenn keine Registerkartenleiste vorhanden ist, und relativ zur Registerkartenleiste, falls vorhanden.

22
rickster

Vergessen Sie nicht, die Option "Relativ zum Rand" zu deaktivieren. enter image description here

6
Artem Zaytsev

Nachlaufender Raum

Leerzeichen vom rechten Rand der aktuellen Ansicht zur nächsten/Nachbaransicht oder zur Übersicht

Führender Raum

Leerzeichen aus einer Nachbaransicht oder einem Übersichtsfenster zum linken Rand der aktuellen Ansicht

Ähnlich entsprechen Oben und Unten dem oberen und unteren Raum. 

6
Irfanlone

Um die bereits akzeptierte Antwort hinzuzufügen, ist es auch erwähnenswert, dass ich, wenn Sie die Ansicht in einem View-Controller durch einen anderen ersetzen, festgestellt hat, dass Einschränkungen der Layout-Handbücher nicht wirklich verwendet werden. Ich habe mich nicht genau mit den Details befasst, aber ich nehme an, es liegt daran, dass die Layout-Anleitungen nur verfügbar sind, wenn der View Controller vom Storyboard geladen wird.

Aus diesem Grund empfehle ich, Layout für Container zu verwenden, jedoch nur, wenn Sie die Ansichten des View-Controllers austauschen möchten. 

Ich stieß darauf, als ich das Storyboard verwenden wollte, um leere Zustände für meine Apps zu erstellen.

Beispiel:

-(void)viewDidLoad{UIView* replacementView = //view loaded from storyboardself.view = replacementView //Layout guide margins will not be followed in replacement view}

0
Matt M