using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using UnityEngine.EventSystems;
using UnityEngine.Serialization;
using System.Text;
public class MyInputField : InputField {
private int use_caretPosition;
private int use_selectionAnchorPosition;
private int use_selectionFocusPosition;
public int Use_selectionAnchorPosition
{
get
{
return use_selectionAnchorPosition;
}
}
public int Use_selectionFocusPosition
{
get
{
return use_selectionFocusPosition;
}
}
public int Use_caretPosition
{
get
{
return use_caretPosition;
}
}
public int SetText(int start , int end, string m_text)
{
int value = 0;
start = Mathf.Clamp(start , 0 , text.Length);
end = Mathf.Clamp(end, start, text.Length);
StringBuilder str = new StringBuilder();
string startStr = text.Substring(0, start);
string endStr = text.Substring(end, text.Length - end);
str.Append(startStr);
str.Append(m_text);
value = str.Length;
str.Append(endStr);
this.text = str.ToString();
return value;
}
public void MoveTextIndex(bool shift = false, int Index = 0)
{
int position = Index;
if (shift)
{
caretSelectPositionInternal = position;
}
else
{
caretPositionInternal = position;
caretSelectPositionInternal = caretPositionInternal;
}
UpdateLabel();
}
protected void SaveMyUsePosition()
{
use_caretPosition = caretPosition;
use_selectionAnchorPosition = selectionAnchorPosition; //起点
use_selectionFocusPosition = selectionFocusPosition; //终点
}
protected override void OnDisable()
{
SaveMyUsePosition();
base.OnDisable();
}
public override void OnUpdateSelected(BaseEventData eventData)
{
SaveMyUsePosition();
base.OnUpdateSelected(eventData);
}
public override void OnDeselect(BaseEventData eventData)
{
SaveMyUsePosition();
base.OnDeselect(eventData);
}
}
MyInputField 支持文字插入
猜你喜欢
转载自blog.csdn.net/qq_40833062/article/details/129736607
今日推荐
周排行