0


Unity3d UI上挂载Content Size Fitter组件后用rect获取的UI的width和height

通常获取UI的宽和高,一般使用GetComponent<RectTransform>().rect.height或GetComponent<RectTransform>().rect.width,但是使用Content Size Fitter布局后会获取不到对应的值(获取为0),此时强制刷新一下布局再获取即可。

//rectTransform为挂有Layout Group组件的RectTransform。
LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform);

刷新完再使用GetComponent<RectTransform>().rect获取。

若是Text文本,上面的方法可能不行,可以使用Text.preferredWidth获取ReactTransform宽度。

float width = text.preferredWidth;
float height= text.preferredHeight;
标签: unity c#

本文转载自: https://blog.csdn.net/WenHuiJun_/article/details/129245498
版权归原作者 WenHuiJun_ 所有, 如有侵权,请联系我们删除。

“Unity3d UI上挂载Content Size Fitter组件后用rect获取的UI的width和height”的评论:

还没有评论