今天学习一下Unity3D中GridLayoutGroup根据子物体的个数自动调节高度。
首先:框架得先搭好
下面:进行一些必要设置
最后:进行代码控制自适应高度
public void SetGridHeight(int num) //每行Cell的个数
{
grid = this.GetComponent<GridLayoutGroup>();
float childCount = this.transform.childCount; //获得Layout Group子物体个数
float height = ((childCount+num-1) / num) * grid.cellSize.y +3.0f; //行数乘以Cell的高度,3.0f是微调
height += (((childCount + num-1) / num) - 1) * grid.spacing .y; //每行之间有间隔
grid.GetComponent<RectTransform>().SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical,height);
}
这就完成了,细节自己调,呵呵,不好请指正。
呵呵,不断学习,不断进步!