Colours
はUIColor
と16進文字列との相互変換メソッドなどの便利メソッドを集めたライブラリです。
iOS7でのシステム色を含めた定義色100個などもあります。
定義済み色
UIColor* color = UIColor.infoBlueColor;
UIColor
と16進文字列との相互変換
UIColor* color = [UIColor colorFromHexString:@"#c87ec4"]; NSString* hexString = color.hexString;
UIColor
とRGBAの配列およびディクショナリとの相互変換
UIColor* color = UIColor.infoBlueColor; NSArray* rgba = color.rgbaArray; NSArray* rgba2 = @[@1.0, @0.8, @0.25, @1]; UIColor* color2 = [UIColor colorFromRGBAArray:rgba2];
実行結果は次の通り。
(lldb) po color UIDeviceRGBColorSpace 0.184314 0.439216 0.882353 1 (lldb) po rgba <__NSArrayI 0xa899f40>(0.1843137,0.4392157,0.8823529,1) (lldb) po rgba2 <__NSArrayI 0xa899f60>(1,0.8,0.25,1) (lldb) po color2 UIDeviceRGBColorSpace 1 0.8 0.25 1
これの、ディクショナリ版 (RGBAにはそれぞれ、キー @"r"
, @"g"
, @"b"
, @"a"
でアクセスできる)もあります。
UIColor* color = UIColor.infoBlueColor; NSDictionary* rgba = color.rgbaDictionary; NSDictionary* rgba2 = @{@"r":@1.0, @"g":@0.8, @"b":@0.25, @"a":@1}; UIColor* color2 = [UIColor colorFromRGBADictionary:rgba2];
UIColor
とHSBAの配列およびディクショナリとの相互変換
上記RGBAのHSBA版です。
UIColor* color = UIColor.infoBlueColor; NSArray* hsba = color.hsbaArray; NSArray* hsba2 = @[@1.0, @0.8, @0.25, @1.0]; UIColor* color2 = [UIColor colorFromHSBAArray:hsba2]; UIColor* color3 = UIColor.infoBlueColor; NSDictionary* hsba3 = color3.hsbaDictionary; NSDictionary* hsba4 = @{@"h":@1.0, @"s":@0.8, @"b":@0.25, @"a":@1}; UIColor* color4 = [UIColor colorFromHSBADictionary:hsba4];
その色に適した (文字色のための) 白か黒の取得
背景色に応じた文字色として白か黒のどちらかが欲しいときのメソッドもあります。
UIColor* comp = UIColor.infoBlueColor.complementaryColor;
実行結果は次の通り。
(lldb) po UIColor.infoBlueColor UIDeviceRGBColorSpace 0.184314 0.439216 0.882353 1 (lldb) po UIColor.infoBlueColor.blackOrWhiteContrastingColor UIDeviceWhiteColorSpace 1 1
色相による補色の取得
色相のみを180度反転させた色を取得できます。
UIColor* comp = UIColor.infoBlueColor.complementaryColor;
ただし、現状バグがあるようで正常に動作しません。
色スキームの取得
指定した色をキーとした色スキームを生成します。
// colorScheme.count == 4 NSArray* colorScheme = [color colorSchemeOfType:ColorSchemeAnalagous];
次の例は黄色を色スキームとした場合の結果です。右4つがこのメソッドの結果で得られる配列になります。
インストール
pod 'Colours'
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。