对齐组件错位问题

cc.resources.load(panelPath, cc.Prefab, (err, prefab)=>{
let newNode: cc.Node = cc.instantiate(prefab);
newNode.getComponent(cc.Widget).target = cc.Canvas.instance.node;
newNode.getComponent(cc.Widget).updateAlignment();
newNode.scale = 0.6;
})

对齐需要时间吗 马上执行缩放之类的 会导致位置错误 只能给Widget组件改ALWAYS模式才行

请问使用的是哪个版本?

2.4.6

有点没太懂你表达的,这个麻烦在我测试的demo改一下你的问题。
testWidget.zip (237.4 KB)

NewProject_1.zip (924.7 KB)

里面的字体是ALWAYS模式 所以它位置对

加个延迟吧

NewProject_1 2.zip (304.6 KB)

下一帧执行 你没看动画都下去了 结果又马上适配回来 表现的有毒都

scale = 0

widgets[i].target = cc.Canvas.instance.node;
widgets[i].updateAlignment();

不能共存 明明代码有先后的 只要同一帧就gg