InputFieldでBestFitを使う(Wrapにする)方法

InputFieldでBest Fitを使おうとしたときのことです。

InputFieldの子オブジェクトのTextやPlaceholderのBestFitをオンにしたくて、HorizontalOverflowをOverflowではなくWrapにしました。
OverflowはTextの領域を超えた文字数になった場合に、はみ出すのを許可する設定なので、これではBestFitをうまく利用することはできません。
そのため、BestFitを使うためにはHorizontalOverflowをOverflowではなくWrapにする必要があります。

しかし、Wrapにした直後に、自動でOverflowに戻ってしまいました!

なぜ??

原因と解決方法

InputFieldで子オブジェクトのText(関連付いているText)をWrapにするためには、InputFieldのLineTypeをMultiLineSubmitまたはMultiLineNewlineにする必要があるようです。
LineTypeはデフォルトでSingleLineになっているので、デフォルトのままではBestFitを使えない状態となっています。

InputFieldのLineTypeについては下記リンクを参照してみてください。
https://docs.unity3d.com/ja/current/ScriptReference/UI.InputField.LineType.html

コメント