R.swiftで色を管理する
R.swift
R.swift使ってますか?
R.swiftはAndroidのリソース管理の考え方をiOSに持ち込んだものなのですが、typoを防ぐほかにもリソースを一元管理することで変更を全体に行き渡らせたりすることが可能です。
例えばデザイナーがメインのカラーをオレンジから青に変えた時に、R.swiftを使ってしっかり開発していれば一箇所変更すれば全ての場所の色が変わります。
色の管理
R.swiftの色管理はmacOSのclrファイルを元に生成されます。
clrファイルはmacOSのカラーピッカーから作ります。
カラーピッカーで作ったclrパレットファイルは~/Library/Colors/
に保管されるのですが、これをプロジェクトの配下に置くことでR.swiftがリソースコードを生成してくれます。
clr管理の問題点
clrファイルを編集するにはカラーピッカーを開くしかないので、~/Library/Colors/に置かれてないと編集することが出来ません。
一人で開発しているのであれば、シンボリックリンクを貼れば良いかもしれませんがgit等で管理している場合はそうもいきません。
考えられる解決策
clrを編集できるソフトを使う
clrを直接編集できれば、git管理下にclrファイルを置いて共有すれば問題ありませんがそもそもclrを直接編集できるソフトが見つかりませんでした…。
clrを共有する
http://qiita.com/TechMeetMeet/items/a799851eef0a11c48103
のように、clrを共有するスクリプトを用意しても良いかもしれません。
ただ、この場合もカラーピッカーで弄る事になります。
カラーピッカーはアプリではないので実は直接起動するのが面倒だったりします。
hex入力も出来ないし…。→できました
参考:http://qiita.com/noppefoxwolf/items/5132d173b7d82579932a#comment-59c4f20e483b1eb002a9
clrを動的生成する
これが個人的に正解だと思っている解決策です。
55acee twitter_color
ffffff bland_white
のようなファイルを作り、
https://github.com/ramonpoca/ColorTools
で配布されているHtml2Clr
を利用します。
R.swiftよりも先にこのcolor.txtからcolor.clrをHtml2Clrを使い生成し、それをR.swiftでリソースコードに変換させます。
このようにすれば色を足したい時にcolor.txtに追記してビルドすれば
let color = R.color.app.twitter_color()
のようにして色を利用することが出来ます。
Author And Source
この問題について(R.swiftで色を管理する), 我々は、より多くの情報をここで見つけました https://qiita.com/noppefoxwolf/items/5132d173b7d82579932a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .