label.node.on(Node.EventType.SIZE_CHANGED, () => {
let transform = sprite.node.getComponent(UITransform);
let size = transform.contentSize.clone();
size.width+=500;
size.height+=500;
console.log(transform.contentSize = ${size});
transform.setContentSize(size);
// 当调用以下刷新精灵 将变得正常
//sprite.updateRenderer();
}, this);
一个Label节点a,一个Sprite节点b,节点a和b处于同一父节点下。
监听节点a大小变化回调,设置节点b大小每次自增500。
不断修改节点a的文字内容,使其size不断变化,不断触发节点b大小自增。
然而打印的size确实不断变大,但是精灵显示大小不变。
精灵的Size Mode已经是custom,type为simple。
同样的代码,在非SIZE_CHANGED环境下,一切正常。
有理由怀疑SIZE_CHANGED环境下,修改节点size,精灵并不会刷新内部渲染数据。
经过查阅论坛,3.7.1Bug Label监听SIZE_CHANGED回调中setContentSize失效
同样的问题,7个月过去了,然后并没有然后。