Unity3d 将UI元素的内容扩展到最大值(统一)
我有一个面板,其中包含一个TextMeshPro(TMP)对象和几个垂直对齐的其他(例如按钮)。我想要以下行为:Unity3d 将UI元素的内容扩展到最大值(统一),unity3d,user-interface,Unity3d,User Interface,我有一个面板,其中包含一个TextMeshPro(TMP)对象和几个垂直对齐的其他(例如按钮)。我想要以下行为: 随着TMP中添加更多文本或添加更多元素(例如按钮和子图像),面板尺寸垂直扩展 随着更多的文本添加到TMP中,我们停止扩展面板的大小,而是使用溢出(省略号或其他) 因此,它应该在文本长时和文本短时进行查看 我的当前设置在面板对象中具有垂直布局组和内容大小装配器组件 垂直布局组已勾选“控制子尺寸”,但未勾选“使用子比例”或“强制子展开” 内容尺寸装配工具有垂直装配的“首选尺寸” TM
谢谢 我找到的最佳解决方案是使用内容大小调整器向父对象添加一个新组件,以强制执行最大值 新组件需要实现接口
ILayoutSelfController
,并实现方法setLayoutAuthorizontal
和SetLayoutVertical
。在这些方法中,检查当前的X和Y维度是否大于在检查器中设置的序列化最大值
完整的解决方案来自一个名为Democide(又名Democritus)的Unity用户,可在此处找到我回滚了您的编辑。将解决方案编辑到问题中或只发布非现场链接作为解决方案是不合适的。您可能想花几分钟阅读这些页面来了解网站的工作原理。