您的位置:首页 > 新闻 > 资讯 > 网站建设步骤完整版_校园网页设计模板素材_网站自助建站系统_长春关键词优化排名

网站建设步骤完整版_校园网页设计模板素材_网站自助建站系统_长春关键词优化排名

2025/1/14 1:12:35 来源:https://blog.csdn.net/qq_42608732/article/details/144110433  浏览:    关键词:网站建设步骤完整版_校园网页设计模板素材_网站自助建站系统_长春关键词优化排名
网站建设步骤完整版_校园网页设计模板素材_网站自助建站系统_长春关键词优化排名

经过测试,要用Inputfield实现光标末尾显示但不选中内容非常麻烦,要么会选中全部,要么采用下面这种延迟显示,但会有明显的变化中间过程:

protected override void OnPanelEnter()
{// 先激活输入框(这里的InputField是成员变量不是类名)InputField.ActivateInputField();// 确保当前帧结束后执行,避免其他逻辑干扰StartCoroutine(SetCaretPositionNextFrame());
}private IEnumerator SetCaretPositionNextFrame()
{// 等待一帧yield return null;// 设置光标位置到末尾InputField.caretPosition = InputField.text.Length;InputField.selectionAnchorPosition = InputField.caretPosition;InputField.selectionFocusPosition = InputField.caretPosition;
}

因此使用InputMesh(TMP)替代,取消勾选ControlSettings的OnFocus-SelectAll,但是字体文件需要特殊处理:选中字体文件,右键Create->TextMeshPro->FontAsset,然后拖动到InpuField(TMP)里面Placeholder和Text的TextMeshPro组件上:

最后这么调用即可:

protected override void OnPanelEnter()
{// (这里的InputField是成员变量不是类名)InputField.DeactivateInputField();InputField.caretPosition = InputField.text.Length;InputField.ActivateInputField();
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com