Unity3D 为UGUI InputField添加滑动条
1.先创建一个Scroll View,把横向拖拽条删掉,其他的根据喜好自己设定
2.Scroll View设置要修改一下,否则子物体位置会有问题
3.在Content下创建一个InputField再把它撑满设置得很长
4.把两个子物体也撑满,防止位置有问题
5.设置InputField为多行并且回车可换行
6.给Content添加Text组建和ContentSizeFitter,并且Text的参数要和InputField用于子物体的Text参数一样。(InputField无法字适应,我们用一个看不到的Text自适应用来给Scroll View拖拽。而把InputField设置的非常长(也可以写代码根据需求动态修改))
7.最后要写一个小脚本,让InputField的输入value改变时实时传到Content的Text,如下:
using UnityEngine;
using UnityEngine.UI;
public class InputFieldToContent : MonoBehaviour
{
private static readonly string no_breaking_space = "\u00A0";
InputField m_InputField;
Text m_Text;
void Start()
{
m_InputField = GetComponent<InputField>();
m_Text = transform.parent.GetComponent<Text>();
m_InputField.onValueChanged.AddListener((value) =>
{
//替换空格编码格式
m_InputField.text = m_InputField.text.Replace(" ", no_breaking_space);
m_Text.text = m_InputField.text;
});
}
}
8.拖到InputField上。
结果