UILabelのフォントサイズを現在のフォントサイズを元に変更する

  • 2
    いいね
  • 0
    コメント

UILabelで現在のフォントサイズを元に,フォントサイズを変更したい場合の解決策.

方法

UIFontでは,現在のフォントサイズはpointSizeで取得することができます.
フォントサイズだけを変更するために,UIFontfontWithSizeを使うことで,サイズだけ変更したUIFontのインスタンスを利用します.

let label : UILabel = UILabel()
label.font = UIFont.systemFontOfSize(20)

//現在のラベルのフォントサイズを取得
let beforeFontPoint: CGFloat = label.font.pointSize
let afterFontPoint: CGFloat = beforeFontPoint * 0.8

//新しいフォントサイズの反映
label.font = label.font.fontWithSize(afterFontPoint)
print(label.font.pointSize) // 16

まとめ

フォントサイズを明示的に変更したい場合は有効と思われます.
もっといい方法があれば教えて下さい.

参考