332 Stimmen

UILabel text margin

Ich möchte den linken Einschub/Rand einer UILabel und kann keine Methode finden, dies zu tun. Das Etikett hat einen Hintergrund festgelegt, so dass nur seine Herkunft ändern wird nicht den Trick tun. Es wäre ideal, den Text um 10px oder so auf der linken Seite.

0voto

Hiren Gujarati Punkte 1009

Ich denke UILabel Klasse haben keine Methode zur Einstellung des Randes. Warum können Sie die Position des Labels nicht an der gewünschten Stelle festlegen?

Siehe untenstehenden Code:

UILabel *label = [[UILabel alloc] init];
label.text = @"This is label";
label.frame = CGRectMake(0,0,100,100);

wenn aus dem Interface Builder, dann positionieren Sie einfach Label durch folgende:

yourLabel.frame = CGRectMake(0,0,100,100);

0voto

emotality Punkte 12295

Fügen Sie einfach Leerzeichen auf der linken Seite hinzu wenn es eine einzelne Zeile ist mehr als 1 Zeile wird wieder mit 0 aufgefüllt.

[self.myLabel setText:[NSString stringWithFormat:@"   %@", self.myShortString]];

0voto

Michael Punkte 25

Vielleicht können Sie diesen Code ausprobieren

CGRect frame = btn.titleLabel.frame;
int indent = 20;
int inset = 20;
[btn.titleLabel setFrame:CGRectMake(frame.origin.x+inset,frame.origin.y,frame.size.width+indent,frame.size.height)];

0voto

Chris Prince Punkte 6870

Um das vertikale Padding für ein einzeiliges Etikett loszuwerden, habe ich das getan:

// I have a category method setFrameHeight; you'll likely need to modify the frame.
[label setFrameHeight:font.pointSize];

OR, ohne die Kategorie, verwenden:

CGRect frame = label.frame;
frame.size.height = font.pointSize;
label.frame = frame;

-1voto

debiasej Punkte 910

Das ist der einfachste Weg, den ich gefunden habe. Es funktioniert wie ein Zauber für mich.

UIView *titleSection = [[UIView alloc] initWithFrame:CGRectMake(0, 0, screenWidth, 100)];
[titleSection addSubview:titleSection];

UILabel *label = [[UILabel alloc] initWithFrame:CGRectInset(titleSection.frame, PADDING, 0)];
[titleSection addSubview:label];

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