2010-04-21 11 views
0

J'ai un UILabel:Comment rendre le texte d'un UILabel non centré?

descriptionLabel = [[UILabel alloc] initWithFrame:CGRectMake(200, 30, 130, 150)]; 
    [descriptionLabel setFont:[Utils getSystemFontWithSize:14]]; 
    [descriptionLabel setBackgroundColor:[UIColor clearColor]]; 
    [descriptionLabel setTextColor:[UIColor whiteColor]]; 
    descriptionLabel.numberOfLines = 0; 
    descriptionLabel.lineBreakMode = UILineBreakModeWordWrap; 
    [self addSubview:descriptionLabel]; 

Si le texte est seulement 1 ligne de temps il apparaît au milieu de l'étiquette.

Y at-il de toute façon que je puisse avoir l'affichage du texte à partir du coin supérieur gauche de l'étiquette au lieu du centre du milieu?

Répondre

2

Vous pouvez définir

[descriptionLabel setTextAlignment:UITextAlignmentLeft];

ou si vous préférez la syntaxe à point

descriptionLabel.textAlignment = UITextAlignmentLeft;

+0

Malheureusement, le texte apparaît toujours au milieu après avoir fait ces changements. –

+1

Voulez-vous dire verticalement au milieu? Il est aligné à gauche si oui? Vous pouvez définir la hauteur de votre étiquette après avoir calculé avec la méthode sizeWithFont de NSString - plus de détails: http://stackoverflow.com/questions/455553/what-is-nsstring-sizewithfontforwidthlinebreakmode-good-for – prendio2

0

pour l'alignement gauche/droite définir la propriété textAlignment de UILabel soit UITextAlignmentLeft ou UITextAlignmentRight.

pour plus d'un réglage fin, vous pouvez passer outre drawTextInRect: