iOS その3 Advent Calendar 6日目
遅れましたが、6日目書かせていただきます。
みんな大好き(だと信じたい)R.swiftでカラーコードを扱う方法を紹介します。
以下のところにも書いてありますが、ちょっと手間取ったのでメモがてらに。
R.swift/Colors.md at master · mac-cain13/R.swift · GitHub
できればすべてのリソースをR.swiftで扱いたい気持ちです。
では本題です。
R.swiftのインストール
ここら辺は割愛しようと思います。
他の記事を参考にしてもらえれば大丈夫かと。
というよりGithubを見ながらCocoaPodsで行けると思います。
Xcodeでパレットを作成する
適当に作ってみます。
Testというカラーパレットを作成してみました。
色は適当にグレーっぽいやつを入れてみました。
これをR.swiftを含んでいるプロジェクトのターゲットに含めます。
カラーパレットの居場所
以下のところにあります。
> ~/Library/Colors/Test.clr
今回はパレット名をTest
にしたのでTest.clr
になります。
こいつをプロジェクトに突っ込みます。
スクリプトの作成
直(~/Library/Colors/Test.clr
)で入れるとGit管理に置けなかったり他の人が参照できなかったりなので、常にプロジェクトにコピーできるようにスクリプト作ります。
rm Test.clr
cp ~/Libarary/Colors/Test.clr Test.clr
僕はこのスクリプトを実行する時はTest.clr
があるディレクトリでやるようにしてます。
他はうまくやってください。
あとはこいつをターゲットに含めます。
ターゲットに追加
追加したいグループで右クリック > "Add To ..." で以下のようにやります。
Copy items if neededのチェックは外してください。
そして追加できたらビルドします。
R.generated.swift
のcolor
に無事追加されていると思います。
使い方
以下のように使います。
R.color.#{パレット名}.#{色名}
なので、先ほど作ったパレットに合わせて使うとすると
R.color.test.gray()
となります。
もし追加されていない場合は
- プロジェクトに追加できていない
- コピーできていない
あたりが怪しいと思います。
終わりに
これのおかげで、アプリ内の色の調整がとても楽にできるようになりました。
Assets周りの扱いもスッキリするのでぜひR.swiftを使用するのをお勧めします。
以上です。