*

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>

関連記事

UICollectionViewが画面回転した時にレイアウトが崩れた時の対応

UICollectionViewCellのサイズを、内容に合わせて動的に変えた時に起こる問題に関して

記事を読む

Realmで==ができなかった

最近Realm Swiftを使ってて、引っかかったところがあるのでメモ。 Realmのオブジェクト

記事を読む

UISplitViewControllerの仕切り線の色を設定

UISplitViewControllerで、iPadを横向き(Landscape)にしたときの2つ

記事を読む

UITableViewのヘッダに小文字を入れる

UITableViewのセクションヘッダをStoryboardでカスタマイズするという話題を以前掲載

記事を読む

viewDidLoadとviewDidLayoutSubviewsのタイミング

真実の記事にある「コードでiPhone6を識別する」話とほんのちょっとだけ繋がっている話で、view

記事を読む

Xcode8で余計なログを抑制する

Xcode8に更新してから、妙にログが増えたので、NSLogで明示したのと実行時エラー以外のログを吐

記事を読む

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

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

記事を読む

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

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

記事を読む

メソッドの呼び出し元を調べる

特定のメソッドに関して、そのメソッドをコールしているメソッド群を調べるための手順。 (1)調べたい

記事を読む

NSStringのフォーマット書式

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

記事を読む

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

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

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

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

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

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

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

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

NXDrawKitを導入してみる

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

→もっと見る

    PAGE TOP ↑