2012-06-13 5 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+Colors.hアドオンで[UIColor skyColor];

を:

@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

関連する問題