如何获取富文本的宽度?

使用富文本的时候设置了Max Width,
在没有达到最大宽度时,如何能正确获取到这个宽度?

用这个属性:_linesWidth
20210607_223508860

E`CW)Z1A3ZHTOCDR)N6_J

为何 下标0 的数组 取不到值呢?

从你的打印看到,_linesWidth 打印的瞬间是空数组,是后来展开才有值的。
可以尝试在给 rich.string 赋值后执行 rich._updateRichText() 来强行更新,然后再打印

但似乎有 200毫秒的延迟

额你仔细看,源码的意思是,编辑器内,为避免频繁修改 string 频繁更新造成性能问题,所以使用 debounce() 去抖动,而实际运行过程则是修改后直接调用 _updateRichText()

是修改后直接调用 _updateRichText() 。 不行

我现在加了 延迟支持 是可以的!

可以用就好。
一般这种消耗性能的,官方可能把实际更新放在每一帧的最后去执行,避免同一帧做太多修改导致无用的性能消耗。
比如 cc.Label 我一直用 _forceUpdateRenderData() 来强制更新,理论上来讲 cc.RichText 也是同理

多谢啦! 老铁!!

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。