Regola l'alfa di UIColor


106

Ho impostato un UIColorrgb utilizzando uno sfondo di un file UILabel. Sto cercando di aggiustare l' alphaunico. Come posso modificare l'alfa di un rgb esistente UIColor?

modificare

Fondamentalmente ho UILabelsun set UIColor(usando rgb) e non saprò di che colore UILabelssono. Ad un certo punto dovrò cambiare l' labelsalfa`. Come posso semplicemente cambiare il colore delle etichette alfa?


Di un predefinito UIColor? Per un'etichetta potresti usare la .alphaproprietà.
LinusGeffarth

Grazie per la risposta!. Ho un UIColor predefinito. Non voglio impostare le etichette alfa, ma i colori alfa
Eric

Risposte:


187

colorWithAlphaComponent: ha fatto il trucco.

Quindi quello che dovevo fare era:

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

c'è qualche differenza tra questo approccio e dire questo? UIColor(red:0.07, green:0.44, blue:0.54, alpha:0.4)
Changerrs

@Changerrs: ci possono essere casi in cui dobbiamo applicare l'alfa a un colore esistente. cioè i colori esistenti non possono essere modificati. Quindi per questi casi abbiamo già un valore di colore, ma poi dobbiamo applicarlo alfa, quindi colorWithAlphaComponent è utile in questo caso.
Bishal Ghimire

83

Swift 3 e 4

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

Swift 2

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

13

Se hai definito dei colori personalizzati, puoi farlo anche tu:

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

9

perché non usare label.alpha = 0.5? modificare l'alfa della tua etichetta?

aggiornamento: se vuoi regolare l'alfa da un vecchio colore, ecco un esempio:

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

}

Non voglio impostare le etichette alpha, voglio impostare le etichette color alpha
Eric

Dov'è la differenza?
LinusGeffarth

Se imposto l'alfa dell'intera etichetta, anche il testo diventerà più chiaro perché sto impostando il colore di sfondo dell'etichetta
Eric

@Eric Vuoi dire cambiare l'alfa del colore da un UIColor esistente?
JZAU

2

Si prega di impostare alfa nel codice sottostante -

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

Ho quel codice, ma voglio modificare solo l'alfa
Eric

vuoi impostare il colore di sfondo di UIlabel e vuoi cambiare alpha di UILabel giusto? Si prega di utilizzare il codice sopra
Santu C

[UIColor colorWithRed: 200.0 / 255 green: 191.0 / 255 blue: 231.0 / 255 alpha: 1.0] modifica in questo modo
Arun

Sì Giusto, scusa per errore
Santu C
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.