Ich habe eine UITextField
, die eine rgb
bereits auf seine Hintergrundfarbe angewendet hat. Ich versuche, das Alpha der Hintergrundfarbe einzustellen. Wie kann ich das Alpha einstellen, ohne die gesamte rgb
Farbe in Objective-c
einzufügen?So ändern Sie den Alpha-Kanal einer vorhandenen Hintergrundfarbe
6
A
Antwort
8
Sie suchen etwas wie folgt aus:
CGFloat newAlpha = 0.7;
CGColorRef color = CGColorCreateCopyWithAlpha(self.yourTextField.layer.backgroundColor, newAlpha);
[self.yourTextField.layer setBackgroundColor:color];
Oder, wenn Sie bereits wissen, die Farbe und wollen nur die aktuelle Alpha:
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
können Sie verwenden:
UIColor *color = ...;
color = [color colorWithAlphaComponent:0.5f];
2
In Swift 3 oder 4:
let color: UIColor = UIColor.black.withAlphaComponent(0.7)
Können Sie dies aktualisieren, um UIColor sowie CGColor einzuschließen? –