縦と横でデザインを変えているのですが、横から縦に戻した時や縦から横にしたときに一瞬だけ画像のようにわずかにレイアウトが崩れます。すぐに画面いっぱいに表示されるのですが、気になります。文字の大きさの自動調整機能(Label.adjustsFontSizeToFitWidth = true)を使っているからかもしれません。
そこでなのですが、UIlabelの文字を画面の大きさに合わせて自動でリサイズしてくれる機能を探しています。
Label.adjustsFontSizeToFitWidth = true
Label.minimumScaleFactor = 0.3
ですとiphoneSEだと大きめに文字が表示されてしまい、iPadでは小さく表示されてしまいます。そうではなくそれぞれの画面のサイズに合わせてフォントサイズが拡大縮小されるやり方を教えていただきたいです。
ラベル(timerlabel)
swift
1override func viewDidLoad() { 2 super.viewDidLoad() 3 4countLabel.adjustsFontSizeToFitWidth = true 5 countLabel.minimumScaleFactor = 0.3 6 7}
ラベルのカスタムクラス
swift
1import UIKit 2 3class customLabel: UILabel { 4 5 @IBInspectable var padding: UIEdgeInsets = UIEdgeInsets(top: 10, left: 20, bottom: 10, right: 20) 6 7 override func drawText(in rect: CGRect) { 8 let newRect = rect.inset(by: padding) 9 super.drawText(in: newRect) 10 } 11}
回答1件
あなたの回答
tips
プレビュー