web-dev-qa-db-fra.com

Impossible de changer la couleur du texte UILabel

Je souhaite changer la couleur du texte UILabel mais je ne peux pas changer la couleur. Voici à quoi ressemble mon code.

UILabel *categoryTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 46, 16)];
categoryTitle.text = @"abc";
categoryTitle.backgroundColor = [UIColor clearColor];
categoryTitle.font = [UIFont systemFontOfSize:12];
categoryTitle.textAlignment = UITextAlignmentCenter;
categoryTitle.adjustsFontSizeToFitWidth = YES;
categoryTitle.textColor = [UIColor colorWithRed:188 green:149 blue:88 alpha:1.0];
[self.view addSubview:categoryTitle];
[categoryTitle release];

La couleur du texte de l'étiquette est le blanc, pas ma couleur personnalisée.

Merci pour toute aide.

66
HelloWorld

Les composants RVB d'UIColor sont mis à l'échelle entre 0 et 1, pas jusqu'à 255.

Essayer 

categoryTitle.textColor = [UIColor colorWithRed:(188/255.f) green:... blue:... alpha:1.0];

En rapide:

categoryTitle.textColor = UIColor(red: 188/255.0, green: ..., blue: ..., alpha: 1)
173
kennytm

Peut-être le meilleur moyen est

UIColor *color = [UIColor greenColor];
[self.myLabel setTextColor:color];

Nous avons donc du texte coloré 

8
user1936313

Essayez celui-ci, où alpha est l'opacité et les autres canaux rouge, vert et bleu 

self.statusTextLabel.textColor = [UIColor colorWithRed:(233/255.f) green:(138/255.f) blue:(36/255.f) alpha:1];
2
Vitaliy

C'est possible, ils ne sont pas connectés dans InterfaceBuilder.

La couleur du texte(colorWithRed:(188/255) green:(149/255) blue:(88/255)) est correcte, peut être une erreur de connexion,

backgroundcolor est utilisé pour la couleur d'arrière-plan de label et textcolor pour la propriété textcolor.

1
Vaibhav Sharma
// This is wrong 
categoryTitle.textColor = [UIColor colorWithRed:188 green:149 blue:88 alpha:1.0];

// This should be  
categoryTitle.textColor = [UIColor colorWithRed:188/255 green:149/255 blue:88/255 alpha:1.0];

// In the documentation, the limit of the parameters are mentioned.

colorWithRed: green: blue: alpha: lien vers la documentation

0
K.R.Saravana Kumar

Ajoutez la couleur de texte attribuée dans le code Swift.

Swift 4:

  let greenColor = UIColor(red: 10/255, green: 190/255, blue: 50/255, alpha: 1)
  let attributedStringColor = [NSAttributedStringKey.foregroundColor : greenColor];

  let attributedString = NSAttributedString(string: "Hello World!", attributes: attributedStringColor)
  label.attributedText = attributedString

pour Swift 3:

  let greenColor = UIColor(red: 10/255, green: 190/255, blue: 50/255, alpha: 1)
  let attributedStringColor : NSDictionary = [NSForegroundColorAttributeName : greenColor];


  let attributedString = NSAttributedString(string: "Hello World!", attributes: attributedStringColor as? [String : AnyObject])
  label.attributedText = attributedString 
0
Mr. Tann