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?


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

¿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)

13

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

view.backgroundColor = [[MyClass someColor] colorWithAlphaComponent:0.25];

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

}

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]

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.