lineBreakModeの設定なんかもあるけど、文字量に応じて、自動でリサイズして収まるようにしてくれる便利なモードがあるよ。
でもあまりにも長すぎると果てしなく小さくなっていくので、文字数の制限をしたり、ミニマムのフォントサイズを設定するなりしてイケてる感じにしよう。
SwiftでUILabelを自動でリサイズする
1 2 3 4 5 6 7 8 9 10 11 |
import UIKit class ViewController: UIViewController { @IBOutlet weak var label: UILabel! override func viewDidLoad() { super.viewDidLoad() label.adjustsFontSizeToFitWidth = true } } |
こんな感じで、 .adjustsFontSizeToFitWidth = true にすることで自動でリサイズするようになるよ。
こんな感じでWidthに合わせて、フォントサイズを自動で設定してくれるよ。
1 |
label.minimumScaleFactor = 0.5 |
みたいに設定すると、自動リサイズのミニマムのフォントサイズを設定できるよ。
これで表示できない文はlineBreakModeによって決まるよ。