UILabelの文字を縮小する

UILabelでは行数の指定などができますが、指定した行数を超えると…で省略されます。

省略する前にテキストサイズを小さくして省略をできるだけ避けることが可能です。

通常の描画

Minimum Font Sizeの設定をしないでの描画です。テキスト領域がわかりやすいように背景色をつけておきました。

最小サイズの設定

Interface BuilderにAutoshrinkというパラメータが用意されているのでMinimum Font Sizeを選択して小さくする限界を設定します。

今回は15pxまで小さくするように設定しています。

変更を加えた後のスクリーンショットです。Autoshinkを設定したことによってUILabelが見切れることなく描画できるようになりました。

コードから設定する

    @IBOutlet weak var label: UILabel! {
        didSet {
            label.adjustsFontSizeToFitWidth = true
            //フォントサイズではなく比率で調整
            label.minimumScaleFactor = 0.5
        }
    }