UGUI实例化出来的sizeDelta跟设计不一致的问题

今天在做一个动画的时候,实例化出来的物体会根据每个图片大小,改变自身的rectTransform.sizeDelta
当实例化出来的时候发现image的sizeDelta是0,但是目标物体做界面的时候sizeDelta并不是0
最终的结果是动画没有按照自己预想的效果表现。

界面设计的时候是这样的:


UGUI实例化出来的sizeDelta跟设计不一致的问题_第1张图片
image.png

UGUI实例化出来的sizeDelta跟设计不一致的问题_第2张图片
image.png

实例化出来的初始状态是这样的:


UGUI实例化出来的sizeDelta跟设计不一致的问题_第3张图片
image.png

UGUI实例化出来的sizeDelta跟设计不一致的问题_第4张图片
image.png

用UGUI制作的界面在实例化出来的时候,如果一个物体没有显示出来的时候,可能不能得到正确的大小,特别是在使用Layout自动计算的时候,以前也遇到过这样的问题。
想了下原因,可能对于Layout组件,在实例化组件的时候,如果他不是可见状态,是不会去计算他的大小,只有当他可见之后才会计算,具体的只有去翻UGUI的源码了

你可能感兴趣的:(UGUI实例化出来的sizeDelta跟设计不一致的问题)