我有一个GameObject的内容大小装修附在一起,并希望读出的高度的GameObject。基于阅读十几个论坛帖子,我尝试了很多东西,但无法让它发挥作用。我认为这段代码应该是几乎正确的,但是,它并没有给出正确的数字:
GameObject go; // The game object whose height i want to read out
...
// Force rebuild before reading out height
LayoutRebuilder.ForceRebuildLayoutImmediate(go.GetComponent<RectTransform>());
// Read out height
float h = go.GetComponent<RectTransform>().rect.height;不幸的是,这并没有给我正确的高度,因为它不符合我在检查员身上看到的东西。代码返回2400左右的高度,而检查人员说它是1257.8 (相当于我在屏幕上看到的)-见下面的屏幕截图。任何帮助都将不胜感激!
发布于 2020-05-24 14:47:58
试试RectTransform.sizeDelta。我在一些项目中使用它来设置RectTransforms的高度。想必你也可以用它来获得高度。
发布于 2020-11-03 04:11:22
我只能用Text.preferredWidth和preferredHeight来做这件事,它们似乎在修改文本后立即更新。当然,只有在适合文本的情况下,这才有效。
https://stackoverflow.com/questions/61987523
复制相似问题