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

7

我有一个UITextField,它的背景颜色已经应用了RGB。我想设置背景颜色的透明度。如何在不重新插入整个RGB颜色的情况下设置透明度?

3个回答

12

你可以使用:

UIColor *color = ...;
color = [color colorWithAlphaComponent:0.5f];

8
您正在寻找类似于这样的内容:
CGFloat newAlpha = 0.7;
CGColorRef color = CGColorCreateCopyWithAlpha(self.yourTextField.layer.backgroundColor, newAlpha);
[self.yourTextField.layer setBackgroundColor:color];

或者如果您已经知道颜色,只想获取当前的透明度:

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;

4

在Swift 3或4中:

let color: UIColor = UIColor.black.withAlphaComponent(0.7)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接