博客迁移
个人博客站点,欢迎访问,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组件介绍
以上知识分享,如有错误,欢迎指出,共同学习,共同进步。