女包建设网站前的市场分析,企业如何建公司网站,辽宁平台网站建设价位,网站的下拉列表怎么做在Unity中#xff0c;InputField在我们输入内容时#xff0c;只会显示适应初始宽度的最新内容#xff0c;或者自定义长度内容。
那么#xff0c;要实现宽度自适应内容就需要另寻他法了。
以下是通过一个控制脚本来实现的一个简单方法。
直接上脚本#xff1a;
using S…在Unity中InputField在我们输入内容时只会显示适应初始宽度的最新内容或者自定义长度内容。
那么要实现宽度自适应内容就需要另寻他法了。
以下是通过一个控制脚本来实现的一个简单方法。
直接上脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;public class DynamicInputFieldSize : MonoBehaviour
{public TMP_InputField inputField;public RectTransform inputFieldRect;private float initialWidth;private float characterWidth 20f;void Start(){// 获取输入框的初始宽度initialWidth inputFieldRect.sizeDelta.x;// 监听输入框文本变化事件inputField.onValueChanged.AddListener(OnInputValueChanged);}void OnInputValueChanged(string text){// 设置输入框文本内容inputField.text text;// 获取文本的预期宽度TMP_Text textComponent inputField.textComponent;float minWidth textComponent.GetPreferredValues(text).x characterWidth; // 判断文本内容是否超过初始宽度if (minWidth initialWidth){// 调整输入框的宽度inputFieldRect.sizeDelta new Vector2(minWidth, inputFieldRect.sizeDelta.y);}else{// 将输入框宽度恢复为初始宽度inputFieldRect.sizeDelta new Vector2(initialWidth, inputFieldRect.sizeDelta.y);}}
}
该控制脚本的方法原理很简单就是通过获取文本长度然后调整输入框的宽度来实现。
效果 Unity InputField宽度自适应内容