web-dev-qa-db-fra.com

Taille de la police UILabel?

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

itemTitle.font = [UIFont systemFontOfSize:25];

Au fur et à mesure que je porte le nombre 25 à quelque chose de plus grand, il ne semble que l’ajout d’une marge supérieure à l’étiquette, ce qui abaisse tellement le texte, 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 de itemTitle. Que se passe-t-il? Est-ce que 25 n'est pas censé être une valeur absolue? 

je suis tellement confus sur la façon de modifier par programme la taille de la police de Uilabels.

83
John

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

56
Rob Napier

J'ai modifié UILabel en utilisant le code suivant:

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

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

170
xtreme
[label setFont:[UIFont systemFontOfSize:9]];

cela fonctionne pour moi.

34
John Paul Manoza

** 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);
10
kapil

Pour Swift 3.1 et Swift 4 , si vous souhaitez uniquement modifier la taille de la police d'une étiquette:

let myLabel : UILabel = ...
myLabel.font = myLabel.font.withSize(25)
8
Kevin ABRIOUX

très simple, mais efficace méthode pour ajuster la taille du texte de l'étiquette par programme: -

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

:-)

6
Madhur Sodhi

Cela a fonctionné pour moi dans 

Swift 3

label.font = label.font.fontWithSize(40.0)

Swift 4

label.font = label.font.withSize(40.0)
1
Krunal

Cela a fonctionné pour moi:

sequencerPlayLabel.font = [UIFont fontWithName:kTypeFont size:kTypeFontSize];

-riches

1
user2887097

En C # Pour résoudre le problème de différentes manières, ces méthodes sont disponibles dans UIkit.

Label.Font = Label.Font.WithSize(5.0f);
       Or
Label.Font = UIFont.FromName("Copperplate", 10.0f);  
       Or
Label.Font = UIFont.WithSize(5.0f);
0
Shanu Singh

Les réponses ci-dessus ont grandement aidé. 

Voici la version Swift.

@IBOutlet weak var priceLabel: UILabel!

*.... lines of code later*

self.priceLabel.font = self.priceLabel.font.fontWithSize(22)