编辑器下,widget设置无效

public resetInEditor(): void {

    if (!EDITOR) {

        return;

    }

    this.checkNode("MainLayer", "DialogLayer", "LoadingLayer", "TipLayer");
}

// 添加names数组的子节点,

private checkNode(...names: string[]) {

    names.forEach((name) => {

        let nd:Node;

        nd=this.node.getChildByName(name);

        if(!nd){

            nd = new Node(name);

            this.node.addChild(nd);

        }

        this.setupFullScreenWidget(nd);

    });

};



// 通过Widget初始化尺寸

// 直接设置widget,contentSize默认还是(100,100),widget没有作用

private setupFullScreenWidget(nd: Node) {


    const widget = nd.getComponent(Widget)||nd.addComponent(Widget);
           // 设置对齐目标(通常是 Canvas)
    widget.target = this.node;

    widget.top = 0;

    widget.isAlignTop = true;

    widget.bottom = 0;

    widget.isAlignBottom = true;

    widget.left = 0;

    widget.isAlignLeft = true;

    widget.right = 0;

    widget.isAlignRight = true;



    // 强制更新

    widget.alignMode = Widget.AlignMode.ON_WINDOW_RESIZE;

    widget.updateAlignment();

}

请问什么原因

源码限制了

什么意思?请教一下,编辑器下,想实现自动添加一些子节点并设置widget,那如何通过代码实现这一功能呢?

加上这一条试试

这个是设置了uitransform的contentsize,后续的widget设置就没有效果了。按道理,应该是通过widget设置后,contentSize跟着再发生变动啊,直接设置contentSize,不是原来的意图啊

这个还真不知道他们源码怎么写的?编辑器、浏览器、模拟器表现出来的效果也不一样。