我有一个带有ui.inputfield的Unity应用程序。我赋予用户输入数字或移动滑块的能力。在这两种情况下,我都需要让滑块数据出现在输入字段中,或者用输入字段中输入的数字更新滑块位置。我可以从输入字段或滑块获得数据,但是我需要显示数据。我主要关心的是,我是否可以将来自两个输入的数据显示在与inputfield完全相同的位置,比如在顶部?我在输入字段的顶部找不到数据显示的任何示例。这是正确的思维方式吗?提前谢谢你。
发布于 2020-07-02 13:37:43
每当用户更改UI.Slider或完成在UI.InputField中输入值时,都会出现回调。
所以,是的,你可以把它们联系在一起,就像。
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");
}
}

https://stackoverflow.com/questions/60622102
复制相似问题