문제

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!

도움이 되었습니까?

해결책

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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top