iOS

[iOS SDK] UITableViewCell のフォントサイズの最大値と最小値を設定する

TableViewCell に表示している文字のフォントサイズの最大値と最小値を決めて、その範囲内でいい感じに文字列を表示させたい場合があります。

15.f ~ 10.f で文字列を表示させる例です。

cell.textLabel.font = [UIFont boldSystemFontOfSize:15.f];
cell.textLabel.minimumFontSize = 10.f;
cell.textLabel.adjustsFontSizeToFitWidth = YES;

ただし、minimumFontSize が iOS 6.0 以降 deprecated なので、以下のように書き換える必要があります。

cell.textLabel.font = [UIFont boldSystemFontOfSize:15.f];
cell.textLabel.minimumScaleFactor = 10.f/15.f;
cell.textLabel.adjustsFontSizeToFitWidth = YES;

minimumScaleFactor は、0.0 ~ 1.0 の範囲内で、フォントサイズを可変させます。先の 10.f と同じにするには、10.f/15.f を設定します。