我在Canvas中有这个简单的结构:
GameObject(垂直布局组)
UI图像(垂直布局组)
TMP UGUI文本(水平布局组,内容大小适合)
现在,它可以很好地工作,当文本超出边界时,UI图像将展开。
但是由于我有一个布局组作为我的TMP文本的父级,因此我在文本的内容大小限制器中收到一个错误,说“父级有一种布局组组件...”。
因此,当文本更改时,图像高度有时不会更新(不会增大或缩小,只有在刷新或保存项目之后才可以)。
我在这里做错什么了吗?
最佳答案
由于要附加图像,因此我将其转换为答案。我为聊天功能做了类似的事情。
使父项具有合适的内容大小,然后将水平或垂直大小设置为首选大小。
让其直接子级作为背景,并向其添加一个layout元素以控制其最小尺寸。还要向其中添加一个布局组,以控制将其作为子级放置的文本。
将文本添加为背景的子级
更改文本以检查背景。
[编辑]
1.我将父级的布局组更改为VerticalLayoutGroup
。
2.我复制了游戏对象“背景”,但是使用了不同的文本,您可以看到ContentSizeFitter
和VerticalLayoutGroup
如何控制子代的大小。
在上面的屏幕截图中,我从未在rect变换上进行任何调整。我刚刚更改了文本,并且您可以看到,每个文本/对话框/消息的背景也进行了调整。