cocos setPosition 之坑

对相对布局Panel里的UI控件的setPosition()时,在该panel创建的前一帧对ui set是无效的,等到该panel创建完之后,set可有效,如果要在创建之前改变位置,方法如下:
ui:getLayoutParameter():setMargin({ left = 10, right = 0, top = 0, bottom = 0 })
ui:getParent():requestDoLayout()
需要告知其parent请求重新布局,不然你再次setMargin时会无效,因为
parent已创建完成,感知不到变化,内部不是dirty状态,不会重新对子节点定位,所以需要手工地请求一次requestDoLayout(),让Panel对子节点新的设置生效

猜你喜欢

转载自blog.csdn.net/loushanghua/article/details/60127045