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