2010-10-29 3 views
3

Я погружаюсь в разработку iOS, и я программно создаю несколько ярлыков, но я не могу показать, что их цвет фона черный. Из того, что я читал, это кажется достаточно простым, вот мой код ...Как программно установить цвет фона UILabel?

UILabel *lbl = [[[UILabel alloc] initWithFrame:CGRectMake(x, y, width, height] autorelease]; 
[[lbl layer] setBorderColor:[[UIColor blackColor] CGColor]]; 
[[lbl layer] setBorderWidth:1.0]; 
[[lbl layer] setBackgroundColor:[[UIColor blackColor] CGColor]]; 
[[self view] addSubview:lbl]; 

Когда я делаю это, цвет рамки и ширина работы, как и ожидалось, но цвет фона остается белым. Я что-то забываю?

Большое вам спасибо за помощь!

ответ

17

UILabel уже имеет .backgroundColor свойство, вам не нужно, чтобы настроить свой слой ...

lbl.backgroundColor = [UIColor blackColor]; 
+0

спасибо, что сработало. вы случайно не знаете, почему другой подход не работает? – BeachRunnerFred

+0

@Beach: Нет. Возможно, наклейка backgroundColor нарисована над слоем, так как вы можете обнаружить backgroundColor слоя, установив backgroundColor метки в '[UIColor clearColor]'. – kennytm

+0

Это не работает, потому что backgroundColor принимает только UIColor, а не CGColor – honcheng

1

установка цвета фона UILabel

[lbl.backgroundColor:[UIColor colorWithPatternImage:[UIImage  imageNamed:@"color_lightblue.png"]]]; 

настройки TextColor из UILabel с цветом изображения

[label_Description setTextColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"color_lightgray.png"]]]; 

простой цвет фона

lbl.backgroundColor = [UIColor blackColor]; 
0

быстры 2

label.backgroundColor = UIColor.whiteColor() 

другая формула:

 let label = UILabel(frame: CGRectMake(0, 0, view.frame.width, view.frame.height)) 

     label.backgroundColor = UIColor.whiteColor() 
     label.textAlignment = NSTextAlignment.Center 
     label.text = message 
     label.numberOfLines = 2 
     label.font = UIFont.systemFontOfSize(12) 
0
lbl.backgroundColor = [UIColor blackColor]; 
0

Используйте этот

with one code you can set color

LabelObj.backgroundColor = [UIColor blackColor];

+0

. Чем он отличается от ответа @ kennytm или Prasad Bulbule? –

Смежные вопросы