uGui InputField在android上使用异常


Android TouchScreenKeyboard not always returning value to InputField

input field自身bug,出现在unity5.0.1f中

// http://forum.unity3d.com/threads/android-touchscreenkeyboard-not-always-returning-value-to-inputfield.317047/
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
 
// TODO: remove this component when unity bug will be resolved
[RequireComponent(typeof(InputField))]
public class InputFieldFix : MonoBehaviour
{
    private string backUpString = "";
    private InputField input;
    private bool isFinishingEditing;
 
    void Start()
    {
        isFinishingEditing = true;
        OnChangeValue(" ");
 
        input = GetComponent<InputField>();
        input.onValueChange.AddListener(OnChangeValue);
        input.onEndEdit.AddListener(OnEndEdit);
    }
 
    void OnDestroy()
    {
        input.onValueChange.RemoveAllListeners();
        input.onEndEdit.RemoveAllListeners();
    }
 
    void OnChangeValue(string value)
    {
        if (string.IsNullOrEmpty(value) && isFinishingEditing == true)
        {
            input.text = backUpString;
            isFinishingEditing = false;
        }
        backUpString = value;
    }
 
    void OnEndEdit(string value)
    {
        isFinishingEditing = true;
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM