ui.inputfield 可以将来自文本框和输入的数据相互重叠显示吗?

Posted

技术标签:

【中文标题】ui.inputfield 可以将来自文本框和输入的数据相互重叠显示吗?【英文标题】:can the ui.inputfield have the data from both text box and input displayed overlaying each other? 【发布时间】:2020-06-22 14:45:28 【问题描述】:

我有一个带有 ui.inputfield 的 Unity Droid 应用。我让用户能够输入数字或移动滑块。在任何一种情况下,我都需要让滑块数据出现在输入字段中,或者使用输入字段中输入的数字更新滑块位置。我可以从输入字段或滑块中获取数据,但我需要显示数据。我主要关心的是我能否将来自两个输入的数据显示在与输入字段完全相同的位置,例如顶部? 我在输入字段顶部找不到任何数据显示示例。这是思考这个问题的正确方法吗? 提前谢谢你。

【问题讨论】:

【参考方案1】:

每当用户更改UI.Slider 或完成在UI.InputField 中输入值时,都会有回调:

UI.Slider.onValueChanged UI.InputField.onEndEdit

所以是的,您可以将它们相互链接,例如

public class Example : MonoBehaviour

    public InputField inputField;
    public Slider slider;

    private void Awake()
    
        inputField.onEndEdit.AddListener(OnInputFieldChanged);
        slider.onValueChanged .AddListener( OnSliderChanged);

        OnSliderChanged(slider.value);
    

    private void OnInputFieldChanged(string newText)
    
        if (float.TryParse(newText, out var value))
        
            value = Mathf.Clamp(value, slider.minValue, slider.maxValue);

            inputField.text = value.ToString("F");
            slider.value = value;
        
        else
        
            Debug.LogWarning("Input Format Error!", this);
            slider.value = Mathf.Clamp(0, slider.minValue, slider.maxValue);
            inputField.text = slider.value.ToString("F");
        
    

    private void OnSliderChanged(float newValue)
    
        inputField.text = newValue.ToString("F");
    


【讨论】:

这就是答案!谢谢你。我花了 3 天的时间,看不到森林的树木。

以上是关于ui.inputfield 可以将来自文本框和输入的数据相互重叠显示吗?的主要内容,如果未能解决你的问题,请参考以下文章

AS3/Flash:组合框和文本输入交互

java图形界面怎样将文本文件里的数据输入到文本框和将文本框中的数据输入到文本文件 急求解在线等可加分

ie 浏览器文本输入框和密码输入框的默认样式

文本输入框和下拉菜单特效-判断汉字的个数

JS:checkFrom对输入框和文本框的判断总结

输入框和导航组件