*

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>

関連記事

UIButtonのappearanceで派生する色設定

以下のコードでUIButtonのappearanceでBackgroundColorの設定をすると、

記事を読む

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

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

記事を読む

UICollectionViewのヘッダとフッタの設定

UICollectionViewで慣れないのがヘッダフッタで、毎度「どうやって設定するんだっけ…」と

記事を読む

UIActionSheetの文字がブレて多重表示される

UIActionsheetを使っていて、iOS7/iPadの組み合わせで起こる不具合らしき挙動が起こ

記事を読む

AVAudioPlayerの初回再生遅延

ちょっとした効果音の再生にAVAudioPlayerを使っているのですが、どうも初回の効果音ロードの

記事を読む

実機テストしたときのデータを取り出す

Xcodeでコンパイルして実機テストしている場合に、テストデータを実機から取り出す方法です。 以下

記事を読む

AdMob組み込み覚書

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

記事を読む

NSStringのフォーマット書式

Appleのページになく、IEEEのprintfフォーマットのページにあるので、C言語と親しくしてな

記事を読む

警告を無視する

HokusaiというライブラリをObj-Cのアプリで使うために奮闘してるのですが(これはこれで別記事

記事を読む

ソースコードからStoryboardにアクセスする

複数のStoryboardを利用して、自分以外のStoryboardに遷移させるような展開をしたい場

記事を読む

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

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

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

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

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

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

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

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

NXDrawKitを導入してみる

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

→もっと見る

    PAGE TOP ↑