2012-06-13 2 views
7

내가 인터페이스 빌더 내에서 인터페이스를 구축하고 글꼴 및 배경 색상을 선택 가능 색상 팔레트의 다양한이 있다고 볼 수 있어요 :xCode 4.3 프로그래밍 방식으로 인터페이스 작성기 팔레트 색상에 액세스하는 방법?

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

그들 중 일부는 "얼음", "스카이"와 같은 이상한 이름을 가지고가, 내 코드에서

나는

[UIColor blueColor]; 
[UIColor cyanColor]; 

에 대한 접근이 내 코드에서 이름이 추가 색상에 액세스 할 수있는 방법이 있나요이? 예를 들어 ,

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

감사합니다!

답변

9

크레용 색상에서 필요한 색상의 RGB 값을 가져와야합니다. [UIColor colorWithRed:(102.0/255.0) green:(204.0/255.0) blue:(255.0/255.0) alpha:1.0];

또는 당신이 필요로하는 모든 색상을 추가 UIColor 카테고리 추가 : 당신은 그들에게 그런 식으로 액세스 할 수있는 "스카이"는 것 [UIColor skyColor];

에서 UIColor+Colors.h 추가 :

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

UIColor+Colors.m 담기를 :

@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 
+0

고맙습니다. 저는 RGB 값을 생각하지 않고 단순히 미리 정의 된 팔레트 이름을 선택하는 것을 피하려고합니다. –

+2

값을 생각할 필요가 없습니다. 미리 정의 된 크레용에서 원하는 경우 크레용 탭을 열고 원하는 크레용을 선택한 다음 RGB 탭을 선택하면 해당 크레용의 RGB 값이 정의됩니다. – mccrager

+7

누군가 이미 카테고리에 대한 모든 노력을 다했습니다. https://github.com/rob-brown/RBCategories/blob/master/UIColor+RBExtras.m – mccrager

관련 문제