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];

10voto

Gabriel Punkte 101

Verwendung von emailBtn.titleEdgeInsets ist besser als contentEdgeInsets falls Sie nicht die gesamte Position des Inhalts innerhalb der Schaltfläche ändern möchten.

8voto

emkaka Punkte 121

Hier wird erklärt, wie man es macht und warum es so funktioniert: http://cocoathings.blogspot.com/2013/03/how-to-make-uibutton-text-left-or-right.html

7voto

dang Punkte 1420

In xcode 8.2.1 im Interface Builder verschiebt es sich nach: enter image description here

5voto

Al-Noor Ladhani Punkte 2303

Es gibt einen kleinen Fehler im Code von @DyingCactus. Hier ist die korrekte Lösung, um ein UILabel zu einem UIButton hinzuzufügen, um den Schaltflächentext auszurichten und den "Titel" der Schaltfläche besser zu steuern:

NSString *myLabelText = @"Hello World";
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];

// position in the parent view and set the size of the button
myButton.frame = CGRectMake(myX, myY, myWidth, myHeight); 

CGRect myButtonRect = myButton.bounds;
UILabel *myLabel = [[UILabel alloc] initWithFrame: myButtonRect];   
myLabel.text = myLabelText;
myLabel.backgroundColor = [UIColor clearColor];
myLabel.textColor = [UIColor redColor]; 
myLabel.font = [UIFont fontWithName:@"Helvetica Neue" size:14.0];   
myLabel.textAlignment = UITextAlignmentLeft;

[myButton addSubview:myLabel];
[myLabel release];

Ich hoffe, das hilft....

Al

3voto

Suraj Sonawane Punkte 1528

Für Swift 2.0:

emailBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Left  

Das kann helfen, wenn jemand Hilfe braucht.

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