UILabelで現在のフォントサイズを元に,フォントサイズを変更したい場合の解決策.
方法
UIFontでは,現在のフォントサイズはpointSize
で取得することができます.
フォントサイズだけを変更するために,UIFont
のfontWithSize
を使うことで,サイズだけ変更した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
まとめ
フォントサイズを明示的に変更したい場合は有効と思われます.
もっといい方法があれば教えて下さい.