Eric
Eric

Reputation: 3841

Adjust alpha of UIColor

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

Answers (7)

Ethan Allen
Ethan Allen

Reputation: 14835

The shortest possible code (Swift 5):

view.backgroundColor = .black.withAlphaComponent(0.75)

Upvotes: 6

Peter Suwara
Peter Suwara

Reputation: 816

Version Swift (5.4)

UIColor.blue.withAlphaComponent(0.5)

Upvotes: 11

GraSim
GraSim

Reputation: 4210

Swift 3+

yourUIView.backgroundColor = UIColor.white.withAlphaComponent(0.75)

Swift 2

yourUIView.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.75)

Upvotes: 107

Eric
Eric

Reputation: 3841

colorWithAlphaComponent: did the trick.

So what I had to do was:

self.mylabel.backgroundColor = [self.myLabel.backgroundColor colorWithAlphaComponent:0.3];

Upvotes: 207

chris g
chris g

Reputation: 1108

If you have custom colors defined, you can do this as well:

view.backgroundColor = [[MyClass someColor] colorWithAlphaComponent:0.25];

Upvotes: 15

JZAU
JZAU

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

Santu C
Santu C

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

Related Questions