Xcode 4 und Interface Builder: Bearbeiten Vertikalen Abstand Constraint (Anker Oben, nicht Unten)
Ich habe ein widget, das ist nicht auslegen korrekt auf dem Gerät (seine sieht OK in IB, aber nicht ganz rechts). Das widget ist ein label und befindet sich über der Mitte des Bildschirms. Interface Builder gab es eine Vertikale Raum-Einschränkung mit einem 'Bottom Anchor'. Hier unten unteren Rand des Bildschirms (nicht als widget unten oder Anker für top-screen).
Bin ich im Inspektor, aber ich weiß nicht, wie zu ändern, um eine top-Anker (vorzugsweise, um das widget oben). Ich habe versucht, das Lesen von Apple docs und Bearbeiten Einschränkungen in allem war es aber eine verwirrende und nicht zu erklären, wie die änderung vornehmen (oder habe ich die Diskussion - das war der 7 Sätze).
Unten ist ein screen-capture-unter Interface Builder zeigt die Vertikale Raum-Einschränkung verankert, um den unteren Rand des Bildschirms. Und seine Attribute lassen viel zu wünschen übrig - Gleich, Konstant und die Priorität nicht wirklich helfen.
Weiß jemand, wie man Bearbeiten Einschränkungen? Insbesondere möchte ich (1) ändern Sie die vertikale Abstandshalter Anker von unten zu top; und (2) Anker gegen das widget oben, und nicht den oberen Rand des Bildschirms.
- Eine kommentierte screenshot wäre wirklich hilfreich, denke ich
- erledigt, guter Vorschlag.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wählen Sie "Eingebettet" sind und die "Berechneten" element durch klicken bei gedrückter Umschalttaste.
Diese beiden Elemente ausgewählt ist, verwenden Sie die Menü-Einschränkungen:
In diesem Menü, zusammen mit einer sorgfältigen Auswahl der Elemente, ist das zentrale gerne Bearbeiten von Einschränkungen im IB. In Ihrem Fall ist, wählen Sie das zentrale Element, das Pin-Menü. Wählen Sie den Vertikalen Abstand - so erstellen Sie eine neue Einschränkung für den vertikalen Abstand zwischen zwei Elementen. Alternativ wählen Sie ein einzelnes element und pin "Top-Platz zu superview", um pin auf der Oberseite anstelle von der Unterseite.
Nun können Sie auswählen, und löschen Sie den vertikalen Abstand zum unteren Rand der Ansicht. IB würde nicht lassen Sie diese zuerst löschen, bevor da hast du eine komplette, nicht-mehrdeutigen Satz von Einschränkungen. Nachdem Sie die neuen vertikalen Abstand Einschränkung, die Sie jetzt haben.
Veranschaulichen weiter, hier ist eine leere view-controller, mit einem einzelnen Textfeld, die ich gezogen haben auf:
Alle Einschränkungen sind lila, was bedeutet IB hat Hinzugefügt, dass Sie für mich (Sie sind System-Einschränkungen), und Sie können nicht entfernt werden - Sie sind die minimalen Einschränkungen notwendig, um position und Größe des Textfeldes.
Nun, ich werde wählen Sie das Textfeld aus, und stecken Sie die oberen Raum, um die superview:
Nun können Sie sehen, dass die beiden vertikalen Platz haben Einschränkungen in blau geändert (Sie sind jetzt Benutzer-Einschränkungen), und Sie haben ein dickeres Aussehen in den editor. Dies bedeutet, dass einer von Ihnen gelöscht werden kann. Ich wählen Sie die Einschränkung für den unteren Raum und die Treffer löschen:
Beachten Sie, dass diese immer noch hat das Aussehen eines user-Einschränkung - aber wenn ich versuche, es zu löschen, IB wird automatisch neu erstellen der system-constraint-pinning an der Unterseite des superview, uns immer wieder auf Platz eins.
Ich geschrieben habe, über diese, und ähnliche autolayout Themen, hier.
Ich habe ein Wort für Autolayouts. Wenn es funktioniert, es funktioniert, aber wenn nicht, dann auf die altmodische Art und Weise (Verwendung von code)