長いテキストを入力するとき
あまり長くなりすぎるといっぺんに表示できなくなるのはご存知の通り
ただ、この場合にサイズが変動してくれればいいなぁと思って
ContentsSizeFitterをTextにアタッチして、
InputFieldには次のコードをアタッチ、OnValueChangedのリストに次のTextValueChangedを追加しました。
C#
1using UnityEngine; 2using UnityEngine.UI; 3 4public class BlockScaler : MonoBehaviour { 5 6 GameObject Text; 7 // Use this for initialization 8 void Start () { 9 Text = transform.GetChild(1).gameObject; 10 } 11 12 public void TextValueChanged () { 13 Text.GetComponent<Text>().text = GetComponent<InputField>().text; 14 Vector2 vec2 = Text.GetComponent<RectTransform>().sizeDelta + new Vector2(10, 10); 15 if(100 < vec2.x && 50 < vec2.y) 16 GetComponent<RectTransform>().sizeDelta = vec2; 17 } 18}
すると、入力しても、InputFieldのtextは正常ですがTextのtextが1文字づつでしか代入されません
原因が分かりません。
あなたの回答
tips
プレビュー