UIColorを使いやすくするマクロ
UIColorのイニシャライザの引数は実数(255を1.0とした割合を0.0〜1.0)で指定する。この方法だと直感的ではないし、何より非常に解りにくい。
UIColor* color = [UIColor colorWithRed:1.0 green:0.647 blue:0.0 alpha:1.0]; //orange
あーもう変換のためのユーティリティでも書こうかなと思っていたのだが、もっとスマートに解決している方がいた。
UIColor を扱いやすくする « 水色のドア
方法は簡単で、以下のマクロをプロジェクトのPrefix.pchに書いてしまえば完了。クラスなんて不要。
#define RGB(r, g, b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1] #define RGBA(r, g, b, a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
これならば色々な所にある色見本を見ながら直感的に書ける。素晴らしい!!。
UIColor* color = RGB(255, 165, 0); //orange
JavaのAPTのようなものがObjective-Cでも欲しいよなぁと常々思っていたことがあるのだが、(Cには)マクロという枯れているプリプロセッサがあるじゃないか。 私ももっと有効活用しないとなぁ。