Unity TMP Inputfield 选择框(富文本)获取真实定位
发布时间
阅读量:
阅读量
一、带富文本标签的框选是什么
UGUI中的InputField组件提供了selectionAnchorPosition和selectionFocusPosition属性,分别表示选择起始位置的光标索引与当前光标的位置索引。
在未添加富文本标签的情况下,仅需通过上述两个数值即可判断框选的方向(从前向后或从后向前),从而对InputField中的文本内容进行字符串分割操作。
关于相关基础知识,可以参考一些技术博客资料。
https://blog.51cto.com/u_15296378/7884559
然而,对于包含富文本标签的InputField而言,这两个属性返回的仅仅是视觉上可见的索引,并未涵盖富文本标签本身的信息。
举个例子:
若是一段普通文本(不带富文本):“今天没有下雨”,当用户希望选择“没有下”时,对应的索引应为2和4。
但若这段文字是带有富文本格式的内容:“今天没有下雨”,当用户同样想选择“没有下”时,实际对应的真实索引应为5和12。
按照真实索引进行字符串拆分后得到的结果应为“没有下”。
然而如果仍然使用selectionAnchorPosition和selectionFocusPosition获取数据,则仍会得到2和4这两个数值。
依据原始索引进行拆分后的结果则是“”,这显然受到了富文本标签的影响。
截至目前为
全部评论 (0)
还没有任何评论哟~
