🦀
SwiftUIでTextを省略しないようにしたい
SwiftUIでTextを省略しないようにしたい。そのあたりを忘れるのでまとめておく。
lineLimitを使ってみる
Text("hogehogehogehogehogegehogehogehogehogehogehogegehogehogehogehogehogehogegehoge")
.frame(width: 100, height: 100)
.lineLimit(nil)
.lineLimit
は表示行数を減らす役割みたい。
lineLimit(_:)を指定しても行数を増やして全体を綺麗に表示できるわけではない。
逆にlineLimit(2)と指定するとこのように行数が減って、表示行数を減らしてくれる。
ただ、今回のケースではlineLimitだとうまくいかない。
fixedSize()を使う
省略したくないときにはfixedSize()
を使うといいらしい。
そうすると綺麗に表示することができるとのこと。
horizontal:true かつ vertical:false
Text("hogehogehogehogehogegehogehogehogehogehogehogegehogehogehogehogehogehogegehoge")
.fixedSize(horizontal: true, vertical: false)
.frame(width: 100, height: 100)
.border(Color.red, width: 1)
horizontal:false かつ verticalをtrue
Text("hogehogehogehogehogegehogehogehogehogehogehogegehogehogehogehogehogehogegehoge")
.fixedSize(horizontal: false, vertical: true)
.frame(width: 100, height: 100)
.border(Color.red, width: 1)
もし.fixedSize(horizontal: true, vertical: true)
だと.fixedSize(horizontal: true, vertical: false)
にした時と同じ挙動になりました。
今回自分は横方向に許可したかったのでverticalをtrueにして期待通りの描写を得られたので良かったです。
参考
Discussion
とても役に立ちました!記事ありがとうございます。
些細なことで恐縮ですが、誤字かなと思い一応ご報告します。
見出しの
verticalをfalse
について、コードを正とすると、verticalをtrue
またはhorizontalをfalse
が適切ぽいです。ご連絡ありがとうございます。修正が遅くなり申し訳ありません。
先ほど修正しました 🙇♂️