524 Stimmen

Wie kann ich den Titel eines UIButtons als linksbündig festlegen?

Ich muss eine E-Mail-Adresse auf der linken Seite eines Formulars anzeigen. UIButton aber es wird in der Mitte positioniert.

Gibt es eine Möglichkeit, die Ausrichtung an der linken Seite eines UIButton ?

Dies ist mein aktueller Code:

UIButton* emailBtn = [[UIButton alloc] initWithFrame:CGRectMake(5,30,250,height+15)];
emailBtn.backgroundColor = [UIColor clearColor];
[emailBtn setTitle:obj2.customerEmail forState:UIControlStateNormal];
emailBtn.titleLabel.font = [UIFont systemFontOfSize:12.5];
[emailBtn setTitleColor:[[[UIColor alloc]initWithRed:0.121 green:0.472 blue:0.823 alpha:1]autorelease] forState:UIControlStateNormal];
[emailBtn addTarget:self action:@selector(emailAction:) forControlEvents:UIControlEventTouchUpInside];
[elementView addSubview:emailBtn];
[emailBtn release];

1680voto

Legen Sie die contentHorizontalAlignment fest:

emailBtn.contentHorizontalAlignment = .left;

Sie sollten auch den linken Einschub des Inhalts anpassen, da der Text sonst den linken Rand berührt:

emailBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);

// Swift 3 and up:
emailBtn.contentEdgeInsets = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 0);

126voto

n8tr Punkte 4838

Sie können auch den Interface Builder verwenden, wenn Sie die Anpassungen nicht im Code vornehmen wollen. Hier habe ich den Text linksbündig ausgerichtet und auch etwas eingerückt:

UIButton in IB

Vergessen Sie nicht, dass Sie auch ein Bild an der Schaltfläche ausrichten können:

enter image description here

44voto

Vincent Punkte 4226

In Swift 3+:

button.contentHorizontalAlignment = .left

20voto

Mohammad Zaid Pathan Punkte 15242

Mauersegler 4+

button.contentHorizontalAlignment = .left
button.contentVerticalAlignment = .top
button.contentEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)

15voto

bhavik Punkte 1633
UIButton *btn;
btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop;
btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X