連続して並ぶUILabelの文字の潰されやすさを調節する

  • 9
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

文字の潰されやすさを調整する"Compression Resistance Priority"のメモ.
UILabelをいくつか連続して並べた時に、LinebreakModeで優先して潰れてほしいラベルを指定したかった.

例として名前、年齢、都道府県などを、それぞれ別のUILabelで表示している場合はこのようになる.

スクリーンショット 2016-09-02 17.19.41.png

もし名前が長い場合、何も設定しないと、このようにはみ出したりする.
スクリーンショット 2016-09-02 17.23.26.png

この場合では、年齢、出身地は確実に表示するようにして、名前を潰すようにしたかった.
このようなときに文字の潰されやすさを調整する項目が"Compression Resistance Priority"である.

スクリーンショット 2016-09-02 17.40.17.png
Xcodeのユーティリティエリアにこのような項目がある.
縦方向と横方向に対してそれぞれ潰されやすさを調整できて、値は0~1000の値を取る(デフォルトは750).

今回の場合は名前を表示するUILabelのCompression Resistance PriorityのHorizonalの値を下げることでうまく収まるようにした.