如何更改现有背景颜色的 Alpha 通道
How to change the alpha channel of an existing background color
我有一个 UITextField
,它的背景色已经应用了 rgb
。我正在尝试设置背景颜色的 alpha。如何在不将整个 rgb
颜色重新插入 Objective-c
的情况下设置 alpha?
您可以使用:
UIColor *color = ...;
color = [color colorWithAlphaComponent:0.5f];
您正在寻找这样的东西:
CGFloat newAlpha = 0.7;
CGColorRef color = CGColorCreateCopyWithAlpha(self.yourTextField.layer.backgroundColor, newAlpha);
[self.yourTextField.layer setBackgroundColor:color];
或者如果您已经知道颜色并且只想要当前的 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;
在 Swift 3 或 4:
let color: UIColor = UIColor.black.withAlphaComponent(0.7)
我有一个 UITextField
,它的背景色已经应用了 rgb
。我正在尝试设置背景颜色的 alpha。如何在不将整个 rgb
颜色重新插入 Objective-c
的情况下设置 alpha?
您可以使用:
UIColor *color = ...;
color = [color colorWithAlphaComponent:0.5f];
您正在寻找这样的东西:
CGFloat newAlpha = 0.7;
CGColorRef color = CGColorCreateCopyWithAlpha(self.yourTextField.layer.backgroundColor, newAlpha);
[self.yourTextField.layer setBackgroundColor:color];
或者如果您已经知道颜色并且只想要当前的 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;
在 Swift 3 或 4:
let color: UIColor = UIColor.black.withAlphaComponent(0.7)