Objective-Cでカラー指定してみよう!っと

スポンサーリンク
 
  • 1138月別訪問者数:

テスト環境
Mac OS X 10.6.8
Snow Leopard
Xcode4.2

今回はObjective-Cでのカラー指定についてじっけん
とりあえずは簡単そうなウィンドウの背景の色を青に変えてみよう、、ということで
グーグルさんに聞いてみて
どうやら定義済みのカラーがあるので(blueColorなど、、)
self.window.backgroundColor.backgroundColor = [UIColor blueColor];
という感じで指定してみた。

。。。

エラー。。。

じゃあ数値指定!
self.window.backgroundColor = [UIColor colorWithDeviceRed:0.0 green:0.0 blue:1.0 alpha:1.0];

。。。

エラー。。。

わけわかんなくなったので
Xcode上でフレームワークのフォルダの階層をほじくってみると。。
どこまでほじほじしてもUIColorクラスなんてない。。。。。。

でもよく見ると

AppKit Frameworkの中に
NSColorてクラスを発見。
ためしに、、
UIColorのところをNSColorに変えてみる。

self.window.backgroundColor.backgroundColor = [NSColor blueColor];

おおおおおおお変わりました!
変わりました!やった、、、実はここまで2時間くらいかかった。

そのあと、色々しらべてみると。
UIKit Framework:iOSのGUI機能をあつかうフレームワーク
AppKit Framework:Mac OSXのGUI機能をあつかうフレームワーク
というふうに分かれてるとのこと、、

なのでとりあえずUIなんちゃらってクラスを見かけたらiOS用だって考えてもいいのかな、、

■定義済みの色
blackColor
blueColor
brownColor
clearColor
cyanColor
darkGrayColor
grayColor
greenColor
lightGrayColor
magentaColor
orangeColor
purpleColor
redColor
whiteColor
yellowColor

そして今度は数値、数値指定に挑戦。
今度は赤にしてみよう。
RGBの数値指定の場合
Red:レッド
green:グリーン
blue:ブルー
alpha:透明度
に0〜1.0までの数値で指定する
1.0は100%ってことでいいと思う

self.window.backgroundColor = [NSColor colorWithDeviceRed:1.0 green:0.0 blue:0.0 alpha:1.0];

これはすんなり。。
色々調べたらシアンとかマゼンタとかも指定できそうなので
もしかしてCMYKもいける??
とほんとにカンで下の感じで書いてみた
とりあえずDTPで馴染みの色、金赤を指定してみる
シアン0% マゼンタ100% イエロー100% ブラック0% にしたいので

self.window.backgroundColor = [NSColor colorWithDeviceCyan:0.0 magenta:1.0 yellow:1.0 black:0.0 alpha:1.0];

おお!!これもできた!うれしい。

とりあえず今回はここまで。

コメント