Не могу изменить цвет текста UILabel - PullRequest
66 голосов
/ 28 марта 2010

Я хочу изменить цвет текста UILabel, но не могу изменить цвет. Вот так выглядит мой код.

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];

Цвет текста надписи белый, а не мой пользовательский.

Спасибо за любую помощь.

Ответы [ 6 ]

174 голосов
/ 28 марта 2010

RGB-компоненты UIColor масштабируются от 0 до 1, а не до 255.

Попробуйте

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

В Свифте:

categoryTitle.textColor = UIColor(red: 188/255.0, green: ..., blue: ..., alpha: 1)
8 голосов
/ 01 июня 2013

Может быть, лучший способ это

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

Таким образом, у нас есть цветной текст

2 голосов
/ 18 мая 2015

Попробуйте это, где альфа - непрозрачность, а другие - красный, зеленый, синий каналы-

self.statusTextLabel.textColor = [UIColor colorWithRed:(233/255.f) green:(138/255.f) blue:(36/255.f) alpha:1];
1 голос
/ 03 июля 2014

Возможно, они не подключены в InterfaceBuilder.

Цвет текста (colorWithRed:(188/255) green:(149/255) blue:(88/255)) правильный, может быть ошибка в соединениях,

backgroundcolor используется для цвета фона метки, а textcolor используется для свойства textcolor.

0 голосов
/ 05 июля 2018
// 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: зеленый: синий: альфа: ссылка на документацию

0 голосов
/ 05 июля 2018

Добавить цвет текста в коде 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

для 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 
...