91 votes

Taille de la police UILabel ?

Je ne parviens pas à modifier la taille de la police d'un UILabel avec le code suivant :

itemTitle.font = [UIFont systemFontOfSize:25];

Lorsque j'augmente le nombre 25 à quelque chose de plus grand, il semble qu'il n'ajoute qu'une marge supérieure à l'étiquette, ce qui a pour conséquence de pousser le texte vers le bas, de sorte que le texte est coupé en bas ou déborde complètement.

J'ai un autre UILabel ailleurs avec systemFontOfSize 25, et il est beaucoup plus petit que le texte itemTitle. Qu'est-ce qui se passe ? 25 n'est-il pas censé être une valeur absolue ?

Je ne sais pas comment modifier par programme la taille de la police des uilabels.

180voto

xtreme Points 909

J'ai modifié le UILabel avec le code suivant :

label.font=[label.font fontWithSize:25];

Essayez ceci et voyez si cela fonctionne dans votre cas ou non ? ???

6 votes

label.font = label.font.fontWithSize(25) pour Swift

2 votes

Swift 3 label.font = label.font.withSize(25)

56voto

Rob Napier Points 92148

Vérifiez que vos étiquettes ne sont pas configurées pour se redimensionner automatiquement. Dans IB, ce paramètre s'appelle " Autoshrink " et se trouve juste à côté du paramètre de police. Par programmation, il s'appelle adjustsFontSizeToFitWidth .

35voto

John Paul Manoza Points 548
[label setFont:[UIFont systemFontOfSize:9]];

cela fonctionne pour moi.

12voto

kapil Points 330

**Vous pouvez définir la taille de la police par ces propriétés **

timedisplayLabel= [[UILabel alloc]initWithFrame:CGRectMake(70, 194, 180, 60)];

[timedisplayLabel setTextAlignment:NSTextAlignmentLeft];

[timedisplayLabel setBackgroundColor:[UIColor clearColor]];

[timedisplayLabel setAdjustsFontSizeToFitWidth:YES];

[timedisplayLabel setTextColor:[UIColor blackColor]];

[timedisplayLabel setUserInteractionEnabled:NO];

[timedisplayLabel setFont:[UIFont fontWithName:@"digital-7" size:60]];

timedisplayLabel.layer.shadowColor =[[UIColor whiteColor ]CGColor ];

timedisplayLabel.layer.shadowOffset=(CGSizeMake(0, 0));

timedisplayLabel.layer.shadowOpacity=1;

timedisplayLabel.layer.shadowRadius=3.0;

timedisplayLabel.layer.masksToBounds=NO;

timedisplayLabel.shadowColor=[UIColor darkGrayColor];

timedisplayLabel.shadowOffset=CGSizeMake(0, 2);

5voto

Madhur Sodhi Points 101

Une méthode très simple, mais efficace, pour ajuster la taille du texte de l'étiquette de façon progressive :-.

label.font=[UIFont fontWithName:@"Chalkduster" size:36];

:-)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X