我有一个UITextField
,它的背景颜色已经应用了RGB
。我想设置背景颜色的透明度。如何在不重新插入整个RGB
颜色的情况下设置透明度?
我有一个UITextField
,它的背景颜色已经应用了RGB
。我想设置背景颜色的透明度。如何在不重新插入整个RGB
颜色的情况下设置透明度?
你可以使用:
UIColor *color = ...;
color = [color colorWithAlphaComponent:0.5f];
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;
在Swift 3或4中:
let color: UIColor = UIColor.black.withAlphaComponent(0.7)