2015-06-19 20 views
63

Ho impostato uno UIColor utilizzando rgb su uno sfondo di UILabel. Sto provando a regolare solo il alpha. Come posso modificare l'alfa di un rgb esistente UIColor?Regola alfa di UIColor

Modifica

Fondamentalmente ho UILabels che hanno un set UIColor (con RGB), e io non so di che colore la UILabels sono. A un certo punto, dovrò cambiare l'alfa labels`. Come posso cambiare il colore delle etichette alfa?

+0

di un predefinito 'UIColor'? Per un'etichetta si può usare la proprietà '.alpha'. – LinusGeffarth

+0

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

risposta

6

perché non utilizzare label.alpha = 0.5? per regolare l'alfa della tua etichetta?

aggiornamento: se si desidera regolare alpha da un colore vecchio, 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]; 

} 
+0

Non voglio impostare le etichette alfa, voglio impostare le etichette alfa colore – Eric

+0

Dov'è la differenza? – LinusGeffarth

+0

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

1

Si prega di impostare alfa nel codice qui sotto -

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

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

+0

il tuo codice è giusto? .... – Spynet

+0

sì, è possibile modificare solo il valore alfa –

137

colorWithAlphaComponent: ha fatto il trucco.

Quindi quello che ho dovuto fare è stato:

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

c'è qualche differenza tra questo approccio e dire questo? 'Colore UIC (rosso: 0,07, verde: 0,44, blu: 0,54, alfa: 0,4)' – Changerrs

+0

@Changerr: ci possono essere casi in cui è necessario applicare alpha a un colore esistente. cioè i colori esistenti non possono essere modificati.Quindi per tali casi abbiamo già un valore di colore, ma poi abbiamo bisogno di applicare alfa ad esso, quindi colorWithAlphaComponent è utile per questo caso. –

39

Swift 4

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

Swift 3

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

Swift 2

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

se avete i colori personalizzati definiti, si può fare anche questo:

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