Unity UI动态调整高度

时间:2016-01-19 18:45:50

标签: user-interface unity3d unity3d-gui

如何调整游戏对象SQLDataTable的高度,使其高度缩小在画布上保持固定位置?如您所见,它上面的文本(helptext gameobject,其内容大小适合,最好适合垂直大小)溢出到表中。

现在我知道如何用上面的文字移动桌子,我会把桌子变成一个孩子,但我不想这样做。我想只是减少​​表格相对于上面文字的高度,也忽略错误。

enter image description here

2 个答案:

答案 0 :(得分:0)

我建议你去看看this page;它附带了一个有用的脚本来使用新的UI;特别是uGUITools。它节省了大量时间。

现在,我所做的是一个画布数组,看起来像enter image description here

上方的imagen

请忽略前面的其他按钮,我可以在移动设备上使用,因此您需要GridLayoutGroupVerticalLayoutGroup来实现您想要的功能。

顺便说一句,我从数据库下载信息并将这些信息放在网格中的新元素中,这样我就可以在构成矩阵[9xn]的元素之间水平滚动。

聚苯乙烯。抱歉我的英语不好。

答案 1 :(得分:0)

如果您要更改其高度或宽度的UI画布元素,则需要执行以下操作:

int height = 1000; // or whatever
gameObject.GetComponent<RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, height);

(您需要将Axis更改为RectTransform.Axis.Horizontal才能更改宽度。)

这是一篇很老的文章,但是我做了一些关于如何以编程方式设置UI元素高度的搜索(并在此处结束)。我认为帮助OP来得太晚了,但希望其他人会发现它有用。