通常获取UI的宽和高,一般使用GetComponent<RectTransform>().rect.height或GetComponent<RectTransform>().rect.width,但是使用Content Size Fitter布局后会获取不到对应的值(获取为0),此时强制刷新一下布局再获取即可。
//rectTransform为挂有Layout Group组件的RectTransform。
LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform);
刷新完再使用GetComponent<RectTransform>().rect获取。文章来源:https://www.toymoban.com/news/detail-617226.html
若是Text文本,上面的方法可能不行,可以使用Text.preferredWidth获取ReactTransform宽度。文章来源地址https://www.toymoban.com/news/detail-617226.html
float width = text.preferredWidth;
float height= text.preferredHeight;
到了这里,关于Unity3d UI上挂载Content Size Fitter组件后用rect获取的UI的width和height的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!