UGUI之Vertical Layout Group组件介绍

博客迁移

个人博客站点,欢迎访问,www.jiingfengji.tech

正文

VerticalLayoutGroup也是HorizontalOrVerticalLayoutGroup的子类,HorizontalOrVerticalLayoutGroup是LayoutGroup的子类,下面从源码中进行对比

namespace UnityEngine.UI
{
    [AddComponentMenu("Layout/Horizontal Layout Group", 150)]
    public class HorizontalLayoutGroup : HorizontalOrVerticalLayoutGroup
    {
        protected HorizontalLayoutGroup()
        {}

        public override void CalculateLayoutInputHorizontal()
        {
            base.CalculateLayoutInputHorizontal();
            CalcAlongAxis(0, false);
        }

        public override void CalculateLayoutInputVertical()
        {
            CalcAlongAxis(1, false);
        }

        public override void SetLayoutHorizontal()
        {
            SetChildrenAlongAxis(0, false);
        }

        public override void SetLayoutVertical()
        {
            SetChildrenAlongAxis(1, false);
        }
    }
}

namespace UnityEngine.UI
{
    [AddComponentMenu("Layout/Vertical Layout Group", 151)]
    public class VerticalLayoutGroup : HorizontalOrVerticalLayoutGroup
    {
        protected VerticalLayoutGroup()
        {}

        public override void CalculateLayoutInputHorizontal()
        {
            base.CalculateLayoutInputHorizontal();
            CalcAlongAxis(0, true);
        }

        public override void CalculateLayoutInputVertical()
        {
            CalcAlongAxis(1, true);
        }

        public override void SetLayoutHorizontal()
        {
            SetChildrenAlongAxis(0, true);
        }

        public override void SetLayoutVertical()
        {
            SetChildrenAlongAxis(1, true);
        }
    }
}

可以看出,唯一的区别就是四个重写的基方法里的调用的CalcAlongAxis、SetChildrenAlongAxis一个是false,一个是true,那么显然true表示是vertical,false表示horizontal

所以在这就不过多的对Vertical Layout Group组件做过多的介绍,用法跟 Horizontal Layout Group组件一样的用,如果对Horizontal Layout Group组件有不了解的,详情请点击这里Horizontal Layout Group组件介绍

以上知识分享,如有错误,欢迎指出,共同学习,共同进步。


版权声明:本文为qq_26999509原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。