*

plistファイルに色を入れる

公開日: : Tips , , ,

plistファイル中にUIColorを入れたい!という場合。普通RGBAの値を数値で入れるとかするけど、plistはバイナリ値も許可しているのでUIColorをNSKeyedArchiverでNSData化したものを直接入れることも不可能ではない。
以下のコードを実行した結果を入れれば、plistに入れるべき値がわかる。多分他の値でも大丈夫。
RGBA値を読みだして[UIColor ColorWithRed:green:blue:alpha:]を実行するのとどっちが楽か。plistの初期値をNSUserDefaultsに書き込む場合は有効だが、その場合NSUserDefaultsの初期値設定メソッド使ったほうが楽かもしれない。

NSLog(“%@”, [NSKeyedArchiver archivedDataWithRootObject:(ここに適当なUIColorを設定)]);

UIColor絡みの余談になるが、[UIColor whiteColor]はRGB値に分解する[UIColor getRed:green:blue:alpha:];
では正しい値を返さない。グレースケール値全般は「RGB色空間」ではなく「グレースケール空間」で扱われる([UIColor ColorWithWhite:alpha]に対応する)からというのが理由らしい。

もう一つ余録として[ColorWithRed:green:blue:alpha]メソッドで明示的に作った黒と白をNSKeyedArchiverでNSData化した値を掲載。
こういう数列には「復活の呪文」的なものを感じる。

[黒]

<62706c69 73743030 d4010203 04050825 26542474 6f705824 6f626a65 63747358 24766572 73696f6e 59246172 63686976 6572d106 0754726f 6f748001 a3090a1b 55246e75 6c6cd80b 0c0d0e0f 10111213 14151617 18191a56 5549426c 75655755 49416c70 68615c4e 53436f6c 6f725370 61636555 55495265 64562463 6c617373 5f101555 49436f6c 6f72436f 6d706f6e 656e7443 6f756e74 554e5352 47425755 49477265 656e2200 00000022 3f800000 10022200 00000080 02100445 30203020 30220000 0000d31c 1d1e1f22 24582463 6c617373 65735b24 636c6173 7368696e 74735a24 636c6173 736e616d 65a22021 57554943 6f6c6f72 584e534f 626a6563 74a12357 4e53436f 6c6f7257 5549436f 6c6f7212 000186a0 5f100f4e 534b6579 65644172 63686976 65720008 00110016 001f0028 00320035 003a003c 00400046 0057005e 00660073 00790080 0098009e 00a600ab 00b000b2 00b700b9 00bb00c1 00c600cd 00d600e2 00ed00f0 00f80101 0103010b 01130118 00000000 00000201 00000000 00000027 00000000 00000000 00000000 0000012a>

[白]

<62706c69 73743030 d4010203 04050825 26542474 6f705824 6f626a65 63747358 24766572 73696f6e 59246172 63686976 6572d106 0754726f 6f748001 a3090a1b 55246e75 6c6cd80b 0c0d0e0f 10111213 14151617 18191a56 5549426c 75655755 49416c70 68615c4e 53436f6c 6f725370 61636555 55495265 64562463 6c617373 5f101555 49436f6c 6f72436f 6d706f6e 656e7443 6f756e74 554e5352 47425755 49477265 656e223f 80000022 3f800000 1002223f 80000080 02100445 31203120 31223f80 0000d31c 1d1e1f22 24582463 6c617373 65735b24 636c6173 7368696e 74735a24 636c6173 736e616d 65a22021 57554943 6f6c6f72 584e534f 626a6563 74a12357 4e53436f 6c6f7257 5549436f 6c6f7212 000186a0 5f100f4e 534b6579 65644172 63686976 65720008 00110016 001f0028 00320035 003a003c 00400046 0057005e 00660073 00790080 0098009e 00a600ab 00b000b2 00b700b9 00bb00c1 00c600cd 00d600e2 00ed00f0 00f80101 0103010b 01130118 00000000 00000201 00000000 00000027 00000000 00000000 00000000 0000012a>

関連記事

AdMob組み込み覚書

書籍ではコレがかなり参考になるのでご紹介。 表題の通りで、組み込みで要注意っぽい部分だけを

記事を読む

バージョンアップ版があることを通知する

拍子抜けするほど簡単だったので、「アプリのバージョンアップの通知をどうするか」という話についてTip

記事を読む

FormSheetでModalに表示させたビューの高さを変更する

iPadにおいて、FormSheetでModal表示させたビューの高さを変えたい場合の記事。 この

記事を読む

コードでiPhone6 Plusを識別する簡単な方法

表題の通り、コードでiPhone6 Plusを識別する簡単な方法です。 iPhone6 Plu

記事を読む

iOS8のシミュレーターでLocalizationのテストをする

iOS8.1のシミュレーターでは、従前できていたシミュレーター内での「設定」(Setting)からの

記事を読む

iPad用storyboard⇔iPhone用Storyboardへの変換

iPad用アプリとしてiPad用前提のstoryboardから、iPhone対応にするにあたり、si

記事を読む

CoreDataのソートとsectionNameKeyPathの関係

CoreDataをフェッチするときに、indexPathのsectionにできるsectionNam

記事を読む

HTMLParserを修正する

HTMLスクレイピングしてる時に役立つライブラリであるObjective-C-HMTL-Parser

記事を読む

Bitbucket課題の記法サンプル

Bitbucketの課題、およびwikiで利用できる記法についての記事です。 利用できる記法に

記事を読む

iOS7の青色

iOS7の標準UIで使われている、水色に近い青の色についての記事です。 あの色には特に名前を決まっ

記事を読む

Xcode10からのimage literal / color literalの指定方法

アセットにあるUIImageの直接指定が可能なImage litera

Xcode11でのバージョン番号の取得方法

Xcode11になってバージョン番号をスクリプトから得て自動で更新する

GoogleスプレッドシートからCSVにエクスポートしたデータを得る方法

情報がない中さんざ苦労しましたが、Googleスプレッドシート(の最初

画面回転をしたあとに、UITextViewの先頭を表示する

回転によりサイズが可変するUITextViewで、縦向き(ポートレイト

NXDrawKitを導入してみる

ACEDrawingViewがObj-Cで書かれていて、いまいちメンテ

→もっと見る

    PAGE TOP ↑