Ho un UITextField
che ha uno rgb
già applicato al suo colore di sfondo. Sto cercando di impostare l'alfa del colore di sfondo. Come posso impostare l'alpha senza reinserire l'intero colore rgb
in Objective-c
?Come modificare il canale alfa di un colore di sfondo esistente
6
A
risposta
8
Siete alla ricerca di qualcosa di simile:
CGFloat newAlpha = 0.7;
CGColorRef color = CGColorCreateCopyWithAlpha(self.yourTextField.layer.backgroundColor, newAlpha);
[self.yourTextField.layer setBackgroundColor:color];
Oppure, se si conosce già il colore e vogliono solo l'alfa corrente:
CGFloat alpha = CGColorGetAlpha(self.yourTextField.layer.backgroundColor); //Get current alpha
self.yourTextField.layer.backgroundColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:alpha].CGColor;
9
È possibile utilizzare:
UIColor *color = ...;
color = [color colorWithAlphaComponent:0.5f];
2
In Swift 3 o 4:
let color: UIColor = UIColor.black.withAlphaComponent(0.7)
È possibile aggiornare questo per includere UIColor e CGColor? –