iOS - Hinzufügen der vertikalen Linie programmgesteuert innerhalb eines Stapels anzeigen
Ich versuche, fügen Sie vertikale Linien, zwischen Etiketten in einem Stapel anzeigen alle programmatisch.
Die gewünschte Oberfläche wird so etwas wie dieses Bild:
Ich kann fügen Sie die Etiketten, die alle mit dem gewünschten Abstand, ich kann auch horizontale Linien hinzufügen, aber ich kann nicht herausfinden, wie Sie diesen separator vertikale Linien, die in-zwischen.
Ich würde gerne, es zu tun so etwas wie dieses:
let stackView = UIStackView(arrangedSubviews: [label1, verticalLine, label2, verticalLine, label3])
Irgendeinen Hinweis?
Dank
- Erstellen Sie eine 2-Punkt-weiten "UIView' (erzwungen mit Einschränkungen) mit eine solide schwarze Farbe und fügen Sie zwei von Ihnen zu den 'UIStackView' an den richtigen stellen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht die gleiche Ansicht in beiden Orten, so müssen Sie zwei separate vertikale Linie Aussicht. Sie konfigurieren jede vertikale Linie anzeigen wie diese:
So fügen Sie die Etiketten nacheinander in der stapelansicht, und so etwas wie dies tun, bevor Sie hinzufügen der einzelnen label auf dem Stapel anzeigen:
Beachten Sie, dass Sie nicht möchten die vertikalen Linien die gleiche Breite wie die Etiketten, so müssen Sie nicht legen Sie die
distribution
- Eigenschaft des stack-Ansicht zufillEqually
. Wenn Sie stattdessen möchten, dass alle Bezeichnungen haben die gleiche Breite, die Sie schaffen müssen, die Breite-Einschränkungen zwischen den Etiketten selbst. Zum Beispiel, nach dem hinzufügen jedes neuen label, dies zu tun:Ergebnis:
Voll Spielplatz-code (aktualisiert Swift-4.1 von Federico Zanetello):
Können Sie versuchen, die folgenden.
Damit erzielen Sie die gewünschten Szene. Sehen Sie diese Bilder als Referenz.
Hier ist eine einfache Erweiterung für das hinzufügen von Trennzeichen zwischen den einzelnen Zeilen (ACHTUNG! Zeilen, nicht Spalten, wie die Frage! Einfach zu ändern, für diesen Fall als auch) . Im wesentlichen die gleiche wie akzeptierte Antwort, sondern in einem wieder verwendbaren format.
Verwenden, durch aufrufen von z.B.
Erweiterung:
@GOR Antwort-Erweiterung nur für die vertikale Linie und nur in Zentren
Stackview Einstellungen: Breite festlegen Constraints der einzelnen Untersicht und Eltern stackview werden sollte, füllen Sie
Hier ist eine einfache Erweiterung für das hinzufügen von vertikalen Trennzeichen zwischen den einzelnen Zeilen.
Hier ist ein flexibler
UIStackView
Unterklasse unterstützt, um beliebige addition von Untersichten angeordnet und ist geeignet für diejenigen, die einen klaren hintergrund auf IhreUIStackView
- und Untersichten, um auf der Oberseite desUIVisualEffectView
, wie im Bild unten.Das Ergebnis?
Wenn die vertikale Zeile-Zeichen, "|", arbeitet für den Blick, den Sie wollen, dann können Sie Beschriftungen hinzufügen in der Stack-Ansicht, wo Sie wollen Trennlinien. Dann verwenden:
Können Sie auch ändern Sie die Stack-View-Verteilung im Interface Builder.