UIColor colorWithRed:green:blue:alpha: always returns white unless one argument is 0

3 Solutions Collect From Internet About “UIColor colorWithRed:green:blue:alpha: always returns white unless one argument is 0”

The parameter aren’t a values of 0 to 255 but a float between 0.0 and 1.0:

[UIColor colorWithRed:0.0f/255.0f green:155.0f/255.0f blue:218.0f/255.0f alpha:1.0f]; 

The values need to be floats (in the range 0.0 to 1.0), not ints (in the range 0 to 255).

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

Try:

[UIColor colorWithRed:136.0/255.0 green:155.0/255.0 blue:218.0/255.0 alpha:1.0]; 

The params are not integers but floats, so
you probably want to divide all color float values with 255.
Like this:

  [UIColor colorWithRed:136.0/255 green:155.0/255 blue:218.0/255 alpha:1.0];

That’s why the color changes when you set red to 0 instead of 1 which 136 means in this case.