label的自动换行问题

我的项目是中英文需求,中文文本的换行是在编辑器里自己通过回车键调整的。如果是英文的话,我想动态的更新label的string属性,那么英文的换行,我能想到的是通过插入\n换行符,但是\n被直接文本显示了,怎么才能做到识别转义呢?
本来想通过控制控制Lable所在Node的宽度,然后让文本自动换行,但是没有成功。
有没有可能像普通html的div一样设定一个宽度后,通过属性的设置让文本自动的换行呢?

label自带的自动换行不能满足你的要求吗?:hushed:

你选成我这样就可以通过node的width来自动换行了啊

解决了,选择resize_height就可以了,感谢你啊。enble wrap t…这个选项我么怎么没有呢?

1赞

我这是1.2.0,不过在以前的版本中,overflow为CLAMP或者SHIRINK才会有enble wrap text,这个就是自动换行,一般是配合CLAMP使用的

如果在指定位置换行有没有办法?

1赞

我用的版本是2.0.5
自动换行后取出来的高是原始的(就是一行的高 多行没有用啊)

由于 label 中 _updateRenderData 处理开销过大,导致没办法设置 string 到时候去触发更新,只能在渲染到时候才可以获取到正确的 size,可以在设置 label 所有属性后在执行一次 label._updateRenderData(true); 就能带当帧获取大小。

1赞