iOS
UILabel
Swift
UIFont

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

More than 1 year has passed since last update.

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


まとめ

フォントサイズを明示的に変更したい場合は有効と思われます.

もっといい方法があれば教えて下さい.


参考