EDIT: Two years later, this post still gets some karma and comments. Fixed my old answer to the best.
The most sensible and reusable way to add a function that can take values ββfrom 0 to 255 for UIColor is to create a custom category. Itβs easier to read, easier to debug, easier for other people to contribute, and makes the project clean and structured, as it grows not only as view viewcontrollers. So, add the following files and import them into your m files if you need them.
UIColor + Extra.h
@interface UIColor (Extra) + (UIColor *)colorWithR:(uint)red G:(uint)green B:(uint)blue A:(uint) alpha + (UIColor *) randomColor; + (UIColor *) colorWithHex:(uint) hex; @end
UIColor + Extra.m
#import "UIColor+Extra.h" @implementation UIColor (Extra) + (UIColor *)colorWithR:(uint)red G:(uint)green B:(uint)blue A:(uint) alpha { return [UIColor colorWithRed:red/255.0f green:green/255.0f blue:blue/255.0f alpha:alpha/100.f]; } + (UIColor *) randomColor { CGFloat red = (CGFloat)random()/(CGFloat)RAND_MAX; CGFloat blue = (CGFloat)random()/(CGFloat)RAND_MAX; CGFloat green = (CGFloat)random()/(CGFloat)RAND_MAX; return [UIColor colorWithRed:red green:green blue:blue alpha:1.0]; } + (UIColor *) colorWithHex:(uint) hex { int red, green, blue, alpha; blue = hex & 0x000000FF; green = ((hex & 0x0000FF00) >> 8); red = ((hex & 0x00FF0000) >> 16); alpha = ((hex & 0xFF000000) >> 24); return [UIColor colorWithRed:red/255.0f green:green/255.0f blue:blue/255.0f alpha:alpha/255.f]; } @end
source share