統計情報(30日間)


最新情報をツイート


人気の投稿

[iOS7] Dynamic Type いろいろ

このエントリーをはてなブックマークに追加

複数行テキストを表示するテーブルビュー(セル高さ可変)を Dynamic Typeに対応させる記事。


設定画面で文字サイズを変更するとセルの高さも自動調整。
セルの高さは
- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context;
(長い!^^;)メソッドを使って計算しています。

これまでよく使われていた sizeWithFont 系のメソッドは、iOS 7から Deprecated になったようです。

また、設定画面で文字サイズが変更された通知(UIContentSizeCategoryDidChangeNotification)を受け取り、UITableView全体をリロードするようにします。






概要を知るのにいい。



Auto Layout を使わない場合にセル上に表示したラベルにDynamic Fontを適用するケースの解説 ※

Xcode5のフォント設定では新しくHeadlineやCaptionといったコンテキストベースのものが選択可能になっている。システム設定に沿った表現を行いたい場合はこれらを使う。HTML(CSS)に近くなった感じ。

実装ポイントとしては (1)UIContentSizeCategoryDidChangeNotificationを受け取って再描画 (2) preferredFontForTextStyle:を元にセルの高さを計算するところ。


※日付が6月なので古い情報(ベータ版)

Leave a Reply