はじめに
アプリを作っているとデザイン的にどうしても1行で収めたい!
とかよくありますよね。
省略させずに全文表示させるために自動でフォントサイズを調整してくれる機能があります。
今回はそれを記事にしようと思います。
実装
import SwiftUI
struct ContentView: View {
@State private var text = ""
var body: some View {
VStack(spacing: 50) {
Text(text)
.font(.system(size: 30))
+ .lineLimit(1)
+ .minimumScaleFactor(0.1)
TextField("", text: $text)
.textFieldStyle(.roundedBorder)
}
.padding(20)
}
}
動画
文字数に応じてフォントサイズが小さくなっていきます。
どんなに文字数が多くなっても2行になることはありません。
おわり
UIKitでいうadjustsFontSizeToFitWidth
かなと思います