Shitf-UI にてライセンス許諾文を、TextEditor に表示した際の覚え書きです。Xcode 14.1 です。
TextEditor は、オートサイズが無いようです。フォントサイズを指定して、ライセンス許諾文が収まるようTextEditor 横縦サイズを指定しておきました。理論上どの端末でも同じになるハズですが、端末によって、ライセンス許諾文が途中で切れてしまいます。 これは iOSシュミレータと実機での間でも発生します。付随条件としては、TextEditor だけはスクロールできないので ScrollView をかませました。この時の端末は iPad 6th です。
@State private var licenseText : String = "Error"
:
中略
:
var body: some View {
:
中略
:
ScollView( [.vertical], showsIndicators:true) {
TextEditor(text: $licenseText/* $必須 */ )
.frame( width: myWidth * 0.9, height:8000)
.disabled(true) // 入力禁止有効
}
.border(Color.black, width: 1)
:
中略
:
}
.onAppear {
:
ライセンス文読込み
:
licenseText = tmptxt.string
:
後略
おそらく端末毎に dpi が異なるためだとおもうのですが、dpiを取得して演算するまで凝りたくありません。表示領域が多い分には実害はないので、弊方では height値 を一番高性能そうなiPad Pro 12inch の iOSシュミレータで合わせこんでおきました。
ScollView( [.vertical], showsIndicators:true) {
TextEditor(text: $licenseText/* $必須 */ )
.frame( width: myWidth * 0.9, height:9000)
.disabled(true) // 入力禁止有効
}
8000 -> 9000 にUPで収まったということはザックリ1割のマージンを持たせておいた方が無難という感じでしょうか?