Ajustar alfa de UIColor

106

Configuré un UIColoruso de rgb en un fondo de a UILabel. Estoy tratando de ajustar el alphaúnico. ¿Cómo puedo modificar el alfa de un rgb existente UIColor?

Editar

Básicamente, tengo UILabelsun conjunto UIColor(usando rgb), y no sabré de qué color UILabelsson. En cierto momento, tendré que cambiar el labelsalfa`. ¿Cómo puedo cambiar el color alfa de las etiquetas?

Eric
fuente
¿De un predefinido UIColor? Para una etiqueta, puede usar la .alphapropiedad.
LinusGeffarth
¡Gracias por la respuesta!. Tengo un UIColor predefinido. No quiero establecer las etiquetas alfa, pero los colores alfa
Eric

Respuestas:

187

colorWithAlphaComponent: Hizo el truco.

Entonces, lo que tuve que hacer fue:

self.mylabel.backgroundColor = [self.myLabel.backgroundColor colorWithAlphaComponent:0.3];
Eric
fuente
¿Hay alguna diferencia entre este enfoque y decir esto? UIColor(red:0.07, green:0.44, blue:0.54, alpha:0.4)
Cambiadores
@Changerrs: puede haber casos en los que necesitemos aplicar alfa a un color existente. es decir, los colores existentes no se pueden modificar. Por lo tanto, para tales casos, ya tenemos un valor de color, pero luego necesitamos aplicarle alfa, por lo tanto, colorWithAlphaComponent es útil para tal caso.
Bishal Ghimire
83

Swift 3 y 4

yourUIView.backgroundColor = UIColor.white.withAlphaComponent(0.75)

Swift 2

yourUIView.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.75)
GraSim
fuente
13

Si tiene colores personalizados definidos, también puede hacer esto:

view.backgroundColor = [[MyClass someColor] colorWithAlphaComponent:0.25];
chris g
fuente
9

¿por qué no usar label.alpha = 0.5? ajustar el alfa de su etiqueta?

actualización: si desea ajustar alfa de un color antiguo, aquí hay un ejemplo:

UIColor uicolor = [UIColor greenColor];
CGColorRef color = [uicolor CGColor];

int numComponents = CGColorGetNumberOfComponents(color);

UIColor newColor;
if (numComponents == 4)
{
    const CGFloat *components = CGColorGetComponents(color);
    CGFloat red = components[0];
    CGFloat green = components[1];
    CGFloat blue = components[2];
    newColor = [UIColor colorWithRed: red green: green blue: blue alpha: YOURNEWALPHA];

}
JZAU
fuente
No quiero establecer las etiquetas alfa, quiero establecer el color de las etiquetas alfa
Eric
¿Dónde está la diferencia?
LinusGeffarth
Si configuro el alfa de toda la etiqueta, el texto también se volverá más claro porque estoy configurando el color de fondo de la etiqueta
Eric
@Eric ¿Quiere decir cambiar el alfa de color de un UIColor existente?
JZAU
2

Establezca alfa en el siguiente código:

[UIColor colorWithRed:200.0/255.0 green:191.0/255.0 blue:231.0 /255.0 alpha:1.0]
Santu C
fuente
Tengo ese código, pero solo quiero modificar el alfa
Eric
desea establecer el color de fondo de UIlabel y desea cambiar alfa de UILabel, ¿verdad? Utilice el código anterior
Santu C
[UIColor colorWithRed: 200.0 / 255 verde: 191.0 / 255 azul: 231.0 / 255 alpha: 1.0] modificar así
Arun
Sí, cierto, lo siento por error
Santu C