Question

I'm building the interface within interface builder and see that there's a variety of color palettes available for selecting font and background colors:

background color>other>color widget 3rd tab > Palette

Some of them have weird names like "Ice", "Sky", etc.

From my code I have access to

[UIColor blueColor];
[UIColor cyanColor];

Is there a way for me to access these additional colors by name from my code? For example,

//Is there a method call that does something like this?
[Color colorNamed:@"Ice" inPalette:@"Apple"];

Thank you!

Was it helpful?

Solution

You would need to get the RGB values of the colors you need from the crayon colors. You could access them that way, "Sky" would be: [UIColor colorWithRed:(102.0/255.0) green:(204.0/255.0) blue:(255.0/255.0) alpha:1.0];

Or add UIColor categories that add all of the colors you need: [UIColor skyColor];

In UIColor+Colors.h add:

@interface UIColor (Colors)
+(UIColor *)skyColor;
@end

In UIColor+Colors.m add:

@implementation UIColor (Colors)
+(UIColor *)skyColor
{
  static UIColor *color = nil;
  if (!color)
    color = [[UIColor alloc] initWithRed:(102.0/255.0) green:(204.0/255.0) blue:(255.0/255.0) alpha:1.0];
  return color;
}
@end
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top