Ajuster l'alpha d'UIColor


106

J'ai mis une UIColorutilisation de RVB sur un arrière-plan de UILabel. J'essaye d'ajuster le alphaseul. Comment puis-je modifier l'alpha d'un RVB existant UIColor?

Éditer

En gros, j'ai UILabelsun ensemble UIColor(en utilisant RVB), et je ne saurai pas de quelle couleur ils UILabelssont. À un certain moment, je labelsdevrai changer l' alpha`. Comment puis-je simplement changer la couleur alpha des étiquettes?


D'un prédéfini UIColor? Pour une étiquette, vous pouvez utiliser la .alphapropriété.
LinusGeffarth

Merci pour la réponse!. J'ai un UIColor prédéfini. Je ne veux pas définir les étiquettes alpha, mais les couleurs alpha
Eric

Réponses:


187

colorWithAlphaComponent: a fait l'affaire.

Donc ce que je devais faire était:

self.mylabel.backgroundColor = [self.myLabel.backgroundColor colorWithAlphaComponent:0.3];

y a-t-il une différence entre cette approche et dire ceci? UIColor(red:0.07, green:0.44, blue:0.54, alpha:0.4)
Changerrs

@Changerrs: il peut y avoir des cas où nous devons appliquer alpha à une couleur existante. c'est-à-dire que les couleurs existantes ne peuvent pas être modifiées. Par conséquent, pour de tels cas, nous avons déjà une valeur de couleur, mais nous devons ensuite lui appliquer alpha, d'où colorWithAlphaComponent est pratique dans ce cas.
Bishal Ghimire

83

Swift 3 et 4

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

Swift 2

yourUIView.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.75)

13

Si vous avez défini des couleurs personnalisées, vous pouvez également le faire:

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

9

pourquoi ne pas utiliser label.alpha = 0.5? ajuster l'alpha de votre étiquette?

mise à jour: si vous souhaitez ajuster l'alpha à partir d'une ancienne couleur, voici un exemple:

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

}

Je ne veux pas définir les étiquettes alpha, je veux définir la couleur alpha des étiquettes
Eric

Où est la différence?
LinusGeffarth

Si je règle l'alpha de l'étiquette entière, le texte deviendra également plus clair car je règle la couleur d'arrière-plan de l'étiquette
Eric

@Eric Voulez-vous dire changer l'alpha de la couleur d'un UIColor existant?
JZAU

2

Veuillez définir alpha dans le code ci-dessous -

[UIColor colorWithRed:200.0/255.0 green:191.0/255.0 blue:231.0 /255.0 alpha:1.0]

J'ai ce code, mais je veux modifier l'alpha uniquement
Eric

vous voulez définir la couleur d'arrière-plan de UIlabel et voulez changer l'alpha de UILabel non? Veuillez utiliser le code ci-dessus
Santu C

[UIColor colorWithRed: 200,0 / 255 vert: 191,0 / 255 bleu: 231,0 / 255 alpha: 1,0] modifier comme ça
Arun

Oui, désolé par erreur
Santu C
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.