2010-03-28 25 views
65

Quiero cambiar el color de texto de UILabel pero no puedo cambiar el color, así es como se ve mi código.No se puede cambiar el color de texto de 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]; 

El texto del texto de la etiqueta es blanco, no es mi color personalizado.

Gracias por cualquier ayuda.

+0

Si se confunde en este, como el uso de pruebas .. ** [UIColor Greencolor], [UIColor yellowColor] ** y así sucesivamente. – Fattie

Respuesta

169

componentes RGB de UIColor se escalan entre 0 y 1, no hasta 255.

Trate

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

En Swift:

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

Muchas gracias. – HelloWorld

+0

Hola @ KennyTM.Puedo saber por qué tenemos que usar dividir nuestro valor con 255 –

+0

@EXC_BAD_ACCESS: Para convertir los valores de 0 ... 255 (0xff) a 0.0 ... 1.0 – kennytm

7

puede ser la mejor forma de hacerlo es

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

Tenemos texto de color

+3

El OP específicamente quería utilizar ** un color personalizado **, no solo un color preestablecido, por lo que usar un preajuste no es una solución viable. La respuesta aceptada es la correcta. – Greg

+0

El OP no debería usar un color personalizado, es muy difícil :) – Fattie

+1

"** Demasiado difícil **"? Dios ... (¡manteniendo el sarcasmo!) –

1

Es posible, no están conectados en InterfaceBuilder.

Color del texto (colorWithRed:(188/255) green:(149/255) blue:(88/255)) es correcta, puede haber error en las conexiones,

backgroundColor se utiliza para el color de fondo de la etiqueta y el color de texto se utiliza para TextColor propiedad.

2

Prueba este, donde alfa es la opacidad y otros es rojo, verde, azul chanels-

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

¡Alguna explicación sería agradable! – gsamaras

Cuestiones relacionadas