Wie ändere ich die Ausrichtung von Schaltflächentiteln in Swift?

76

Ich versuche, den Titel auf einen Button nach links zu setzen. Aber alles, was ich versucht habe, funktioniert nicht.

Mit:

UILabelButton.titleLabel.textAlignment = .Left

Oder:

UILabelButton.contentVerticalAlignment = UIControlContentVerticalAlignment // There is no left

Der Titel der Schaltfläche ist weiterhin zentriert.

Gibt es eine andere Immobilie?

derdida
quelle

Antworten:

202

Verwenden Sie. contentHorizontalAlignmentSie müssen verwenden. UIControlContentHorizontalAlignment.LeftSie müssen horizontalnicht verwenden vertical.

btn.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Left

Swift 3.x.

btn.contentHorizontalAlignment = .left
Codester
quelle
2
@codester .center scheint nicht zu funktionieren, wenn der Text / Inhalt einer Schaltfläche in zwei Zeilen eingeschlossen ist. Wie können wir beide Zeilen einer Schaltfläche zentralisieren, deren titleLabel umbrochen wurde?
user2363025
20

Swift 4

Beispielcode

Für meine Anforderung möchte ich die Ausrichtung links oben

btnAddress.contentHorizontalAlignment = UIControlContentHorizontalAlignment.left
btnAddress.contentVerticalAlignment = UIControlContentVerticalAlignment.top

Swift 5 Update:

btnAddress.contentHorizontalAlignment = UIControl.ContentHorizontalAlignment.left
btnAddress.contentVerticalAlignment = UIControl.ContentVerticalAlignment.top
Vivek
quelle
1
    btnAddress.contentHorizontalAlignment = UIControl.ContentHorizontalAlignment.left
    btnAddress.contentVerticalAlignment = UIControl.ContentVerticalAlignment.top 

Und jetzt, wenn Sie möchten, dass der Text von links etwas Platz hat, fügen Sie dies hinzu

btnAddress.titleEdgeInsets = UIEdgeInsets(top: 0, left: 8, bottom: 0, right: 0)

Noman Haroon
quelle
0

so mit schnell 4:

btnAddress.contentHorizontalAlignment = .center
Dominik
quelle