iOS16/iPadOS16ではTextFieldで複数行の入力が可能になりました。
以前は改行も出来ず、画面に収まらない場合は横にスクロールしていました。
しかし今回TextFieldに追加されたaxis引数を使用する事で複数行使用する事が可能になります。
@State var text = ""
TextField("", text: $text ,axis: .vertical)
これだけの簡単なコードでMultiLine TextFieldが実現する様になりました。
デフォルトはhorizontalで以前のままです。
なおlineLimitは表示する行数幅のみの指定であり、入力データの行数には影響しないので気をつけてください。
スクロールするだけで指定した行数以上の入力が可能です。
恐らくonChangeか何かで入力チェックする事になると思います。
また、previewやシミュレータでハードウェアキーボードを利用した場合は、
enterのみではフォーカスが外れ、alt+enterで改行な事に気を付けてください。
コメント