Unity 版本: 5.6.5f1 个人版
TextMesh Pro 版本: 1.0.56.0b3
我正在尝试创建存储在垂直布局组 UI 元素中的动态 TextMesh Pro 文本块。每个文本块都存储在自己的游戏对象中,所有游戏对象都是 Vertical Layout Group 的子对象。所有 TextMesh Pro 对象都使用相同的字体并启用“自动调整大小”标志,以便它们在垂直布局组的范围内缩放。理想情况下,所有文本块在缩放时都应该具有相同的字体大小。查看当前的垂直布局组检查器,其中包含组和子 TextMesh Pro 文本块的层次结构。
问题是如果一个文本块由两行组成,而另一个文本块由三行组成,那么这两个块将占据垂直布局组的大约一半。但是,第一个块的字体大小将是第二个块的字体大小的 2/3 左右。在实践中,我偶尔也会看到两行文本块跨越三行,字体大小要大得多。有关详细信息,请参阅下面的图片链接。
这里的目标不是以任何方式修改垂直布局组。内容必须适合组的固定位置和固定大小。为了定义可点击区域,文本块必须是单独的对象。每个区域跨越整个文本块,并将随着文本的变化而调整大小。
管理垂直布局组的 Monobehaviour 背后的代码维护一个字符串数组,其中包含所有文本块的上述文本。对此数组的更改(例如添加、编辑和删除)显示为按扩展名对垂直布局组的更改。在这一点上,我非常确定,每当发生更改时,我都需要实现操作文本框的功能,而不是依赖于 TextMesh Pro 的自动调整大小,但在这一点上,我被卡住了。
如何以编程方式或其他方式实现所需的结果,即在添加到垂直布局组的所有文本框中保持相同的字体大小,同时在不同内容的文本框中分配组的空间,以便我用作尽可能多的垂直布局组?
编辑:在这个问题中添加了垂直布局组检查器和对象层次结构作为图像。