Xcodeで利用できるフォントを補完で選べるSwiftFontNameという軽量ライブラリをリリースしました

Xcodeで利用できるフォントを補完で選べるSwiftFontNameという軽量ライブラリをリリースしました

SwiftFontNameとは

XcodeでUIFontをフォント名で指定するときに、正しい文字列を書かなきゃいけないのは面倒ですよね?その面倒さをなくすためだけの軽量ライブラリ、それがSwiftFontNameです。

morizotter/SwiftFontName

Helvetica

他に、言語環境によってフォントを変える機能も備えています。NSLocalizedStringなどと組み合わせれば今まででも実現はできていたのですが、フォントのためだけにローカライゼーションを書くのは面倒だったりするので、その場で言語ごとの指定もできるようにしています。

LocalizedFontName(FontName.Copperplate, ["ja": FontName.HiraKakuProNW6, "en": FontName.HelveticaNeueLight])

フォントの文字列はそんなにたくさんいじることはないかもしれないですが、都度、検索したりしてコードを書く流れが滞ることはあると思います。それを回避できるので、是非使ってみてください〜。使い方は、READMEを参照してください。

What a cool CocoaPod!いただきました

matteocrippa/awesome-swift にも載りました!

作り方

XCTestでOSの全ての言語がカバーできているかどうかをチェックするようにして、あとはテストが通るように調整をしていきました。と言っても、補完のためのコードは全て同じパターンなので半自動でやってます。フォントを追加するタイミングで全自動化しようと思っています。

XCTestを使うのは初めてです。こちらを参考にしました。

開発記録

最初はもっと構造的に作ろうと思っていました。ファミリーを作って、それぞれのフォントの詳細を作って、、、enumを使って。ただ、それをやると確かに構造的でしっかりとして感じにはなるのですが、補完の手軽さが失われました。

FontFamily.HelveticaNeue.Light.string()

こうなってくると長いのです。それに補完候補にそのenumが持つメソッドなども出てきてスムーズに選択するという体験が失われました。結局、途中まで作ったところでその構造はやめ、フォントの候補を単なる文字列として平べったく並べました。

凄みは無くなりましたが、本当に必要なのは単に「補完が簡単にできる」ということだったので、良かったと思います。

Pocket
LINEで送る

You may also like...