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


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


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