Help us understand the problem. What is going on with this article?

【iOS】R.swiftでColorを扱う

More than 3 years have passed since last update.

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で行けると思います。

GitHub - mac-cain13/R.swift: Get strong typed, autocompleted resources like images, fonts and segues in Swift projects

Xcodeでパレットを作成する

適当に作ってみます。

test-color.gif

Testというカラーパレットを作成してみました。

色は適当にグレーっぽいやつを入れてみました。

これをR.swiftを含んでいるプロジェクトのターゲットに含めます。

カラーパレットの居場所

以下のところにあります。

> ~/Library/Colors/Test.clr

今回はパレット名をTestにしたのでTest.clrになります。

こいつをプロジェクトに突っ込みます。

スクリプトの作成

直(~/Library/Colors/Test.clr)で入れるとGit管理に置けなかったり他の人が参照できなかったりなので、常にプロジェクトにコピーできるようにスクリプト作ります。

copy_clr.sh
rm Test.clr
cp ~/Libarary/Colors/Test.clr Test.clr

僕はこのスクリプトを実行する時はTest.clrがあるディレクトリでやるようにしてます。

他はうまくやってください。

あとはこいつをターゲットに含めます。

ターゲットに追加

追加したいグループで右クリック > "Add To ..." で以下のようにやります。

スクリーンショット 2016-12-06 20.17.00.png

Copy items if neededのチェックは外してください。

そして追加できたらビルドします。

R.generated.swiftcolorに無事追加されていると思います。

使い方

以下のように使います。

R.color.#{パレット名}.#{色名}

なので、先ほど作ったパレットに合わせて使うとすると

R.color.test.gray()

となります。

もし追加されていない場合は

  • プロジェクトに追加できていない
  • コピーできていない

あたりが怪しいと思います。

終わりに

これのおかげで、アプリ内の色の調整がとても楽にできるようになりました。

Assets周りの扱いもスッキリするのでぜひR.swiftを使用するのをお勧めします。

以上です。

ryokosuge
金髪iOS エンジニア なんか色々やってます
https://ryokosuge.github.io/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした