Swift UILabelをフォントサイズでフィットさせる

2021年8月7日

手順概要

  • 文字列を設定
  • フォント情報を設定
  • フィットするサイズを取得
  • 取得したサイズを設定

Exampleコード

最初

let day = UILabel()
day.text = text
day.font = UIFont.boldSystemFont(ofSize: size)
day.textColor = color
day.adjustsFontSizeToFitWidth = true
day.numberOfLines = 0
let rect = day.sizeThatFits(CGSize(width: CGFloat.greatestFiniteMagnitude, height: CGFloat.greatestFiniteMagnitude))
day.frame = CGRect(x: x, y: y, width: rect.width, height: rect.height)

テキストやフォント変更後

day.text = newtext
let rect = day.sizeThatFits(CGSize(width: CGFloat.greatestFiniteMagnitude, height: CGFloat.greatestFiniteMagnitude))
day.frame = CGRect(x: day.frame.origin.x, y: day.frame.origin.y, width: rect.width, height: rect.height)

SwiftSwift

Posted by shi-n