Ich habe eine UIView in meinem UIViewController im Storyboard, die ich dem Raum mit einer Einschränkung hinzufügen möchte, die einen Abstand vom oberen Rand darstellt.
Wenn ich nun das übliche per Strg + Ziehen in die Hauptansicht des ViewControllers mache, bekomme ich nur die Option, es auf die oberste Layout-Anleitung zu setzen.
Dies ist ein Problem für mich, weil ich irgendwann in der App die Hauptansicht um 20-50px nach oben verschieben werde. Was dann passiert, ist die Ansicht, die ich nicht verschieben werde, da sie nicht auf Superview ausgerichtet ist.
Wie kann ich dies manuell im Storyboard tun oder muss ich es programmgesteuert hinzufügen?
Ich benutze xcode 6.
Rechts neben dem Wert der Einschränkungskonstante befindet sich ein Pfeil. Wenn Sie darauf klicken, erscheint ein Menü, in dem Sie auswählen können, zu welchem Objekt Sie Ihre Einschränkung relativ machen möchten. Wenn Sie "Ansicht" wählen, wird es oben in der Ansicht angezeigt.
Sie sollten dies tun können, indem Sie die gewünschte Ansicht im Storyboard markieren und dann Editor > Pin > Top Space to Superview
im oberen Menü auswählen.
Dies ist in XCode 7 veraltet, siehe @ PaulGurovs Antwort.
TL; DR: Sie können den Rand einschränken, indem Sie auf drücken Alt Taste auf der Tastatur.
Man kann auch hinzufügen, dass der vorgeschlagene Ansatz nicht wirklich gültig ist, wenn die Ansicht, die Sie anheften möchten, keine direkte Unteransicht der Ansicht ist, an die Sie sie anheften möchten. Nehmen wir an, die Ansichtshierarchie sieht so aus und Sie möchten die Bildansicht (in diesem Fall Parallax Image View
) mit der Ansicht des Ansichtscontrollers (in diesem Fall View
) verknüpfen.
Dazu machst du einfach Control + Drag vom Parallax Image View
zum View
. Hier werden die Standardoptionen angezeigt, bei denen Vertical Spacing to Top Layout Guide
angezeigt wird, um den Parallax Image View
an die obere Layoutanleitung anzuheften.
Sie möchten es am oberen Rand der Ansicht anheften. Um dies zu tun, müssen Sie zu den anderen Bedingungen wechseln, indem Sie drücken Alt
Ich hatte schon eine ganze Reihe von Einschränkungen und wollte sie nur ändern, anstatt sie zu brechen. Es stellt sich heraus, wenn Sie auf die Einschränkung doppelklicken, um sie zu bearbeiten, und dann auf das Objekt mit der Markierung ".Margin" klicken. Sie können das Relativ zum Rand deaktivieren, indem Sie dieses Element auswählen.
Dans Antwort funktioniert. Ich wollte nur sagen, dass, wenn Sie Ihre Ansicht in storyBoard auf y <20 setzen und Einschränkungen über das Pin-Bedienfeld konfigurieren, diese auf Superview gesetzt wird:
Keine der obigen Antworten funktionierte für mich, stattdessen muss ich einen Hack machen, um das Top meiner Unteransicht mit dem TopView von oben zu setzen, stattdessen mit der Top-Layout-Anleitung.
Du bist jetzt gut zu gehen.
Wenn die Höhe der Ansicht versehentlich auf 0 eingestellt ist, erscheint KEIN vertikaler Abstand zum oberen Layout. Es erscheint jedoch ein Vertical Space to Bottom Layout Guide, der für jemanden in Apple um 2004 sinnvoll gewesen sein muss.