Reputation: 3841
I set a UIColor
using rgb to a background of a UILabel
. I'm trying to adjust the alpha
only. How can I modify the alpha of an existing rgb UIColor
?
Edit
Basically I have UILabels
that have a set UIColor
(using rgb), and I won't know what color the UILabels
are. At a certain point, I will have to change the labels
alpha`. How can I just change the labels color alpha?
Upvotes: 126
Views: 67074
Reputation: 14835
The shortest possible code (Swift 5):
view.backgroundColor = .black.withAlphaComponent(0.75)
Upvotes: 6
Reputation: 4210
Swift 3+
yourUIView.backgroundColor = UIColor.white.withAlphaComponent(0.75)
Swift 2
yourUIView.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.75)
Upvotes: 107
Reputation: 3841
colorWithAlphaComponent:
did the trick.
So what I had to do was:
self.mylabel.backgroundColor = [self.myLabel.backgroundColor colorWithAlphaComponent:0.3];
Upvotes: 207
Reputation: 1108
If you have custom colors defined, you can do this as well:
view.backgroundColor = [[MyClass someColor] colorWithAlphaComponent:0.25];
Upvotes: 15
Reputation: 3567
why not using label.alpha = 0.5
? to adjust your label's alpha?
update: if you want to adjust alpha from a old color, here is an example:
UIColor uicolor = [UIColor greenColor];
CGColorRef color = [uicolor CGColor];
int numComponents = CGColorGetNumberOfComponents(color);
UIColor newColor;
if (numComponents == 4)
{
const CGFloat *components = CGColorGetComponents(color);
CGFloat red = components[0];
CGFloat green = components[1];
CGFloat blue = components[2];
newColor = [UIColor colorWithRed: red green: green blue: blue alpha: YOURNEWALPHA];
}
Upvotes: 10
Reputation: 2654
Please set alpha in below code -
[UIColor colorWithRed:200.0/255.0 green:191.0/255.0 blue:231.0 /255.0 alpha:1.0]
Upvotes: 0