酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

Xamarin.iOSで指定したフォント名で描画する

UIFontを生成する際にUIFont.FromNameメソッドを使うことで指定したフォント名のUIFontオブジェクトを生成することが可能です。UILabelのFontプロパティに生成したUIFontオブジェクトを設定することで指定したフォントで文字列が表示されます。

指定したフォント名でテキストを表示する

特にXamarin.iOSでなくてもObjective-Cを使ったコードでも同じです。

cCell.TitleLabel.Font 
    = UIFont.FromName("HiraKakuProN-W3", 14);

iOS 8.1で「ヒラギノ角ゴシック体 W1」と「ヒラギノ角ゴシック体 W2」を使う

ヒラギノ角ゴシック体 W3とW6を重宝しています*1

iOS 7から「ヒラギノ角ゴ W1」と「ヒラギノ角ゴ W2」が追加されたと聞いて試してみました。

cCell.TitleLabel.Text = "タイトル";
cCell.TitleLabel.Font 
    = UIFont.FromName(".HiraKakuInterface-W2", 14);

cCell.DetailLabel.Text = "弥海砂";
cCell.DetailLabel.Font 
    = UIFont.FromName(".HiraKakuInterface-W1", 14);

上記のサンプルコードを実行した結果は下図の通りです。

f:id:ch3cooh393:20141101025854p:plain

関連記事

Xamarin.iOSを使ってアプリ開発する際に逆引きとしてお使いください。

*1:システムフォントを使っておけばベースラインをiOSのバージョンアップの度に調整せずにすんだり、描画時の文字列の高さの計算をミスせずに済んでいたと思うととても悲しいのですが……