Unity主动聚焦InputField并且设置光标位置

这篇具有很好参考价值的文章主要介绍了Unity主动聚焦InputField并且设置光标位置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在一次文本输入的设计中,需要用到点击自定义的Button来删除InputField里对应光标位置的字符,并且保持InputField和光标不会丢失焦点

  1. 实现删除字符

  1. 实现InputField焦点不丢失

  1. 实现光标不消失

  1. 解决光标重设时,由于自动SelectAll时导致的选中颜色闪烁

各位有更优的办法可以分享分享 thanks~~文章来源地址https://www.toymoban.com/news/detail-636993.html

解决方法

private InputField m_MainIPF;
private int m_CurrentCaretPosition;
private Color m_MainIPF_selectionColor;
private Button m_DelBtn;
Start()
{
    m_MainIPF.onEndEdit.AddListener((value)=> {
                m_CurrentCaretPosition = m_MainIPF.caretPosition;
            });
    m_DelBtn.onClick.AddListener(OnClickDelBtn);
}
private void OnClickDelBtn()
{
    var value = m_MainIPF.text;
    if (value.Length >= m_CurrentCaretPosition && m_CurrentCaretPosition > 0)
    {
        m_CurrentCaretPosition--;
        value.Remove(m_CurrentCaretPosition, 1);
        m_MainIPF.text = value;
    }
    GameEntry.Instance.StartCoroutine(ResetInputFieldCaret());
}
IEnumerator ResetInputFieldCaret()
{
    if (!m_MainIPF.isFocused)
    {
        m_MainIPF.ActivateInputField();//主动选中输入框,但是会自动执行SelectAll,未知原因
        var color = m_MainIPF_selectionColor;
        color.a = 0;//这里暂时使用的改变颜色来避免SelectAll导致的闪烁
        m_MainIPF.selectionColor = color;
    }
    yield return new WaitForEndOfFrame();//需要延迟一帧后设置光标才会生效
    m_MainIPF.caretPosition = m_CurrentCaretPosition;
    m_MainIPF.ForceLabelUpdate();//立即强制刷新光标显示,否则会在下一帧才生效
    m_MainIPF.selectionColor = m_MainIPF_selectionColor;
}

到了这里,关于Unity主动聚焦InputField并且设置光标位置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity中实现获取InputField选中的文字

    一:前言 获取到选中的文字:哈哈 二:实现 UGUI的InputField提供了selectionAnchorPosition和selectionFocusPosition,开始选择时的光标下标和当前光标下标  

    2024年02月12日
    浏览(24)
  • Unity WebGL 输入框(InputField)接受中文输入

    Unity发布成webgl后,inputfield没法接受中文输入 Unity 在webgl平台下对IME的支持有问题 Unity与IME的官方说法描述: Unity官方明确说明:IOS,Android不支持IME。 是不是Unity WebGL对IME支持有问题?! 使用github包【WebGLInput】:https://github.com/kou-yeung/WebGLInput 包的介绍: 1、工程里面拖入Uni

    2024年02月16日
    浏览(22)
  • Unity UGUI之InputField(TMP)基本了解

    Unity的InputField组件是用于在Unity中创建可供用户输入文本的输入框的UI组件。通过InputField组件,可以让用户在运行时输入文本,比如用户名、密码、搜索等。其中TMP版本的InputField是基于TextMeshPro的InputField组件,提供了更多的文本渲染功能和样式设置。 1、如下图,为I

    2024年03月24日
    浏览(47)
  • Unity UGUI的InputField(输入框)组件的介绍及使用

    UGUI的InputField组件是Unity中的一个用户界面组件,用于接收用户的输入。它可以用于创建文本输入框、密码输入框等功能。 UGUI的InputField组件通过监听用户的输入事件,用户将输入的内容保存在一个字符串中,并将该字符串显示在输入框中。用户可以通过键盘输入、鼠标点击等

    2024年02月12日
    浏览(34)
  • 【Unity-UGUI控件全面解析】| InputField 输入框组件详解

    🎬 博客主页:https://xia

    2024年02月06日
    浏览(32)
  • unity InputField输入框如何自定义输入类型,限制输入格式等

    Unity中的InputField输入框可以通过以下几种方式自定义输入类型,限制输入格式等: 通过设置InputField组件的content Type属性,可以指定输入框的类型。常见的类型有: Standard:默认类型,可以输入任何字符。 Integer Number:只能输入整数。 Decimal Number:只能输入浮点数。 Password:

    2024年02月08日
    浏览(20)
  • 【100个 Unity实用技能】 | Unity中Text文本框 和 InputField文本输入框 内容换行问题

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年02月11日
    浏览(36)
  • 【100个 Unity实用技能】 | Unity中Text文本框 和 InputField文本输入框 内容换行问题【文末送书】

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年02月12日
    浏览(35)
  • 【Unity细节】为什么UI移动了锚点,中心点和位置,运行的时候还是不在设置的位置当中

    👨‍💻个人主页 :@元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏 :unity细节和bug 😶‍🌫️优质专栏 ⭐【软件设计师高频考点暴击】 此时我已经将锚点设置为左上角,但是运行时它不在左上角,而是在中间 它的父对象不

    2024年02月05日
    浏览(54)
  • 【100个 Unity实用技能】 | InputField输入框组件实现输入限制,只能输入中文或特殊字符等

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2023年04月27日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包