void __focusIn(EventContext context)
{
if (!editable || !Application.isPlaying)
return;
if (Stage.keyboardInput)
{
Stage.inst.OpenKeyboard(textField.text, false, _displayAsPassword ? false : !textField.singleLine,
_displayAsPassword, false, null, keyboardType);
}
else
{
Input.imeCompositionMode = IMECompositionMode.On;
_editing = true;
if (_caret == null)
CreateCaret();
if (!string.IsNullOrEmpty(_promptText))
UpdateAlternativeText();
float caretSize;
//如果界面缩小过,光标很容易看不见,这里放大一下
if (UIConfig.inputCaretSize == 1 && GRoot.contentScaleFactor < 1)
caretSize = (float)UIConfig.inputCaretSize / GRoot.contentScaleFactor;
else
caretSize = UIConfig.inputCaretSize;
_caret.SetSize(caretSize, textField.textFormat.size);
_caret.DrawRect(0, Color.clear, textField.textFormat.color);
AddChild(_caret);
_selectionShape.Clear();
AddChild(_selectionShape);
_caretPosition = textField.text.Length;
TextField.CharPosition cp = GetCharPosition(_caretPosition);
AdjustCaret(cp);
_selectionStart = cp;
}
}