2013年3月24日日曜日

便利なアイコンフォントをiOSアプリで使う方法メモ

アイコンっていうのはデザイン上とても大事なんですけど、自分で用意するのはけっこう面倒です。
なので世の中の優れたデザイナーさんが作ってくれたアイコンを使わせてもうらうことが多いのですが、アイコンフォントを使うとそれなりにメリットがあるなあと思ったのでメモしておきます。


個人的に気に入ってるピクトグラムのセットを配布しているサイトです。
(ライセンスはCC BY 3.0 フォントはSIL Open Font License)

こちらからパッケージをダウンロードします。


フォントファイルだけではなくpsdやpdf、Webフォントに使えるsvgファイルまで入ってます。

今回はDesktop Typefaceに入っている Entypo.otfを取り出して、目的のiOSアプリのプロジェクトに投入します。



Entypo.otfをプロジェクトに追加したら、プロパティのFonts provided by applicationにEntypo.otfを追加します。
(Fonts provided by applicationがプロパティのリストにない場合は追加)


これでアイコンフォントを使う準備が整いました。

あとはUIButtonなどのフォント設定に"Entypo"を指定すれば使えます... と言いたいところなのですが、Entypoの場合は文字をUnicodeで指定する必要があるのでちょっとひと手間必要です。


さきほどダウンロードしたパッケージにGlyph guideline.rtf というドキュメントがあるので開くとアイコンとUnicodeの対応を調べることができます。

例えば電話マークを使いたい時
char name[] = "\u1F4DE";
NSData *telData = [NSData dataWithBytes:name length:strlen(name)];
NSString *telString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.titleLabel.font = [UIFont fontWithName:@"Entypo" fontSize:14.f];
[button setTitle:telString  forState:UIControlStateNormal];
あくまでもフォントなので、色や大きさを好きなように変え放題です。
iPhoneとiPadで異なるサイズのアイコンが必要な時や、状態によって違う色のアイコンを複数用意する場合などに重宝しそうです。

0 件のコメント: