UIColor macros for Objective-C
Below are two macros I paste into most every project. Besides saving a few keystrokes, they work well when using the color picker application. Let’s look at the macros first:
#define RGB(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1] #define RGBA(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:a]
Here’s the code without/with the macro:
// Code without the macro msgLabel.textColor = [UIColor colorWithRed:255/255.0 green:251/255.0 blue:204/255.0 alpha:1]; // Or like this... msgLabel.textColor = [UIColor colorWithRed:1.0 green:.98 blue:.8 alpha:1]; // Code with macro msgLabel.textColor = RGB(255, 251, 204);
UIColor expects its parameters to be expressed as values in the range of 0.0 to 1.0, so I pass in the color value I’m looking for between 0 and 255, and let the macro do the math for me.
Let me show you how I use the macro with the color picker application. The figure below shows a screenshot of the color picker – at this point I have selected the color I am interested in, so I choose rgb from the dropdown menu.
From here, I copy the value from the field “Hex:”, paste this into my project and finish by changing rgb to RGB.