周五前需要提交!实现Scroll Rect组件自适应

img

然后当它的框里只有一个选项时,它是这个样子:

img

现在的优化要求是,当框里只有一个组件时,下面的那个空白部分要随着里面的组件数量自适应,不能像现在这样拖一个很长的空白。
请问可以用什么方式实现!

一种思路:将scroll rect放在一个空物体gameobject下,设置scroll rect平铺模式:

img


scroll rect组件的content物体挂载自动布局组件:

img


实际上组件的数量增减时,content的height都会是子物体的height和间隔的和,所以用代码去检测获取content的高,同步设置根父物体gameobject的高即可。
实例代码如下:

public class test11 : MonoBehaviour 
{
    public RectTransform go;
    public RectTransform content;

    private void Start()
    {
        
    }

    private void Update()
    {
        float height = content.rect.height;
        go.SetSizeWithCurrentAnchors(RectTransform.Axis.Vertical, height);
    }
}

img

打开的时候,判断一下里面组件的个数,然后动态修改它的高度