iOSアプリ開発で上手に色を操るための設定まとめ
最近エンジニアでもデザイン頑張ろう系のエントリをよく目にします。
これには同感で、特にアプリエンジニアはデザインも理解していくべきだと思ってます。
iOSアプリ開発で色を簡単に扱える準備をしたので、その内容をまとめます。
1.Xcodeにプラグインを入れる
Hex Color Picker
XcodeのカラーピッカーにHexタブを追加できるXcode Pluginです。
色の指定をCSSのように16進数で行えて便利ですね。
導入方法
- 1.公式サイトからダウンロード
- 2.Finder -> 移動メニュー で optionキーを押して「ライブラリ」へ移動
- 3.ColorPickers ディレクトリに
HexColorPicker.colorPicker
を追加 - 4.Xcodeを再起動
OMColorSense
エディタ上のUIColorをビジュアライズしてくれるXcode Pluginです。
フォーカスがあたるとカラーが出て良い感じです。
導入手順
Xcode向けパッケージ管理ツール「Alcatraz」を用いると簡単です。
- 1.Alcatraz をインストールする(まだの場合)
- http://alcatraz.io/ からダウンロード
- Xcodeを再起動する
- 2.Window > Package Manager を開く
- 3.
OMColorSense
をインストールする - 4.Xcodeを再起動する
2.コードで色を指定しやすくする
UIColorのカテゴリを作る
こんな感じで定義して使ってます。
UIColor+Hex.h
+ (UIColor*)colorWithHexString:(NSString *)hex; + (UIColor*)colorWithHexString:(NSString *)hex alpha:(CGFloat)a;
UIColor+Hex.m
+ (UIColor*)colorWithHexString:(NSString *)hex { return [self colorWithHexString:hex alpha:1.0]; } + (UIColor*)colorWithHexString:(NSString *)hex alpha:(CGFloat)a { NSScanner *colorScanner = [NSScanner scannerWithString:hex]; unsigned int color; if (![colorScanner scanHexInt:&color]) return nil; CGFloat r = ((color & 0xFF0000) >> 16)/255.0f; CGFloat g = ((color & 0x00FF00) >> 8) /255.0f; CGFloat b = (color & 0x0000FF) /255.0f; return [UIColor colorWithRed:r green:g blue:b alpha:a]; }
使い方
// UIColor を使いたい場所で myLabel.textColor = [UIColor colorWithHex:@"ebebeb"];
頻繁に使う色は定義しておく
アプリのテーマカラーなど、頻出の色は #define で定義しておきます。
#define kDefaultTextColor [UIColor colorWithRed:70/255.0 green:171/255.0 blue:235/255.0 alpha:1.0]
使い方
myLabel.textColor = kDefaultTextColor;
3.おまけ:その他のツール
ディスプレイに表示されてる色を取得する(Macで)
Mac には DigitalColor Meter というツールが標準で入っており、これを使うとRGB値が簡単に取得できます。「あ、この色良さそう」と思ったときに起動してRGBをメモしておくと良いです。
DigitalColor Meter はユーティリティの中にあります。
Webページで使われている色を取得する(Chrome拡張で)
Pendule というChrome拡張でそのページで使用されているカラーが取得できます。
例えばFacebookのTOPページを解析した場合、以下のようなリストにしてくれます。
使い方は簡単で、対象のページを開いて Pendule > Show used colors
するだけです。
「このサイトのようなカラーテーマにしたい」という時に重宝するツールです。
Pendule のダウンロードはここからできます:
--
以上です。
ツールの導入は最初は時間がかかってしまいますが、今回紹介したものはヘビーに使えて本当に便利なものばかりなのでぜひ試してみてください。
参考リンク
- Interface Builderで16進の色コード(Hex Color)を使えるようにするプラグインを導入する
- iOS Tips #2 16進数でUIColorを生成する
- WEB開発者はインストール必須のChrome拡張「Pendule」
関連書籍
自分でデザインも考えてみたいエンジニアの方におすすめです。