You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

从服务器获取文本时,如何动态调整UI Text组件的高度?

实现Unity Text组件固定宽度、自动调整高度的方法

当然可以搞定这个需求!在Unity里让Text组件保持固定宽度,同时根据内容自动拉伸高度其实非常直观,我给你拆解下具体操作步骤:

  • 第一步:固定Text的宽度
    选中你的Text组件,在Inspector面板的RectTransform里,把Width设置成你想要的固定数值,Height可以先随便填个初始值(后面会自动调整)。

  • 第二步:添加并配置Content Size Fitter组件
    给Text组件添加一个Content Size Fitter组件(右键Text组件 → UI → Content Size Fitter)。然后:

    • Horizontal Fit设为Fixed Size,并在旁边的输入框填和RectTransform一样的宽度值(确保宽度完全固定);
    • Vertical Fit设为Preferred Size,这一步是让组件根据文本内容的实际高度自动调整自身高度。
  • 第三步:开启文本换行
    在Text组件自身的设置里,把Horizontal Overflow改成Wrap。这样当文本长度超过固定宽度时,会自动换行,Content Size Fitter才能准确计算出需要的高度。

额外小提示

如果是动态修改文本内容(比如从服务器拉取数据后赋值),不需要写额外代码,Unity会自动触发Content Size Fitter重新计算高度。要是遇到不生效的情况,可以检查下父物体有没有其他布局组件(比如Vertical Layout Group),确保它们的Child Control Size等参数没有和Content Size Fitter冲突。

内容的提问来源于stack exchange,提问作者SmoggeR_js

火山引擎 最新活动