39 votes

Comment changer la couleur d'une UIFont ?

J'ai fait des recherches sur le web et je n'ai pas trouvé de réponse satisfaisante, même si je suis sûr que c'est très simple. Quelqu'un peut-il me montrer comment faire ce qui suit ? Créer une police UIFont de nom "Helvetica-Bold", de taille 8.0 et de couleur noire.

J'ai le nom et la taille, mais je n'arrive pas à trouver comment changer la couleur :

UIFont *textFont = [UIFont fontWithName:@"Helvetica-Bold" size:8.0];

Merci !

55voto

theChrisKent Points 10963

UIFont ne contient pas/ne maintient pas d'informations sur les couleurs, ce n'est donc pas possible. En général, les contrôles qui utilisent UIFont, tels que UILabel, possèdent à la fois une police et une propriété textColor. Vous pouvez donc définir la police et la couleur d'une étiquette de la manière suivante :

myLabel.textColor = [UIColor blackColor];
myLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:8.0];

6voto

Oktay Points 64

Si vous dessinez du texte, vous pouvez utiliser la fonction suivante ;

[text drawAtPoint:CGPointMake(x, y) withAttributes:@{ NSFontAttributeName: [UIFont systemFontOfSize:sizeOfFont], NSForegroundColorAttributeName:[UIColor redColor] }];

4voto

bobobobo Points 17477

Si, par hasard, vous effectuez le rendu de la police sur une texture en OpenGL, vous pouvez également utiliser la fonction Fonctions du CGContext*. ,

En supposant que vous avez déjà un cgcontext valide :

CGContextSelectFont(cgContext, "Arial", 24, kCGEncodingMacRoman);
CGContextSetRGBStrokeColor(cgContext, 1.0f, 1, 1, .5f) ;
CGContextShowTextAtPoint(cgContext, 20, 20, "HI THERE", strlen("HI THERE") ) ;

1voto

NiKKi Points 2575

Vous pouvez également utiliser [myLabel setTextColor:[UIColor grayColor]]; .

0voto

Sandy Patel Points 56
UILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(0, 190, 320, 45)];
lable.backgroundColor = [UIColor clearColor];
lable.textColor=[UIColor redColor];
[self.view addSubview:lable];

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