如何更改现有背景颜色的Alpha通道

Hor*_*ray 7 alpha objective-c uicolor ios

我有一个UITextField它有一个rgb已经应用到它的背景色.我正在尝试设置背景颜色的alpha.如何在不重新插入整个rgb颜色的情况下设置alpha Objective-c

Bis*_*sca 9

您可以使用:

UIColor *color = ...;
color = [color colorWithAlphaComponent:0.5f];
Run Code Online (Sandbox Code Playgroud)


Tom*_*voy 8

你正在寻找这样的东西:

CGFloat newAlpha = 0.7;
CGColorRef color = CGColorCreateCopyWithAlpha(self.yourTextField.layer.backgroundColor, newAlpha);
[self.yourTextField.layer setBackgroundColor:color];
Run Code Online (Sandbox Code Playgroud)

或者,如果您已经知道颜色并且只想要当前的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;
Run Code Online (Sandbox Code Playgroud)