x401om x401om - 4 months ago 14
Objective-C Question

How do I create a UIColor from RGBA?

I want to use

NSAttributedString
in my project, but when I'm trying to set color, which isn't from the standard set (
redColor
,
blackColor
,
greenColor
etc.)
UILabel
displays these letters in white color.
Here is my line of this code.

[attributedString addAttribute:NSForegroundColorAttributeName
value:[UIColor colorWithRed:66
green:79
blue:91
alpha:1]
range:NSMakeRange(0, attributedString.length)];


I tried to make color with
CIColor
from Core Image framework, but it showed the same results.
What should I change in my code to perform it in right way?

Thx for answers, guys!

Answer

Your values are incorrect, you need to divide each color value by 255.0.

[UIColor colorWithRed:66.0f/255.0f
                green:79.0f/255.0f
                 blue:91.0f/255.0f
                alpha:1.0f];

The docs state:

+ (UIColor *)colorWithRed:(CGFloat)red
                    green:(CGFloat)green
                     blue:(CGFloat)blue
                    alpha:(CGFloat)alpha

Parameters

red The red component of the color object, specified as a value from 0.0 to 1.0.

green The green component of the color object, specified as a value from 0.0 to 1.0.

blue The blue component of the color object, specified as a value from 0.0 to 1.0.

alpha The opacity value of the color object, specified as a value from 0.0 to 1.0.

Reference here.

Comments