如何改变Unity3D中展开式垂直布局组的方向?

5
当我在垂直布局组上添加新元素时,如果没有足够的空间可用,垂直布局组会从下方开始扩展。如何让它们从彼此的顶部添加?
我想要的效果是:
  • 第四个元素
  • 第三个元素
  • 第二个元素
  • 第一个元素
第一个元素总是在下面,接下来的元素将出现在其顶部。
谢谢。

“如何使它们从彼此的顶部添加?”这句话是什么意思? - Ḟḹáḿíṅḡ Ⱬỏḿƀíé
垂直布局组应该向上扩展。 - Konstantin Zhuk
6个回答

1

好的,我找到了一个解决方案。不知道是否正确,但它是最简单的解决方案。只需要将“矩形变换”旋转180度即可。图片解决方案

结果的视频:谷歌云盘


旋转是一个好主意,但在滚动条中它不会聚焦到最后一个对象。 - Shantu

1
在“垂直布局组”(组件)中,您可以将“子对齐方式”更改为“下部居中”。旋转整个UI元素不是一个好主意(可能会在以后引起头痛),由于这个线程是谷歌搜索结果的第一项,所以我觉得我应该在此为未来的开发人员提供此信息。

1
子元素对齐到上中仍然会使列表向下而不是向上扩展。 - idbrii
在我编写这段代码时,我写错了方向:P 现已更正为下部中心,但子元素的对齐仍然控制着扩展的方向。我还想添加这个链接,它甚至有一个屏幕截图 https://dev59.com/nbLma4cB1Zd3GeqPerG1. - Martin
子元素的对齐方式并不控制扩展的方向,它只控制你在父矩形中的位置。 - Sniffle6

1
这是我找到的方法,适用于Unity 2020。在具有垂直布局组的父元素上,将子对齐设置为上中,并将轴心点设置为0.5 1。这样可以将其锁定在原位,并按降序生成最新的项目。

1

1
    yourGameObject.transform.SetAsFirstSibling(); is the solution.

可以在其他转换操作结束时完成。
    button.transform.parent = ServerMessagesContent.transform;
    button.transform.position = ServerMessagesContent.transform.position;

    button.transform.SetAsFirstSibling();

0

旋转是我可以做的最糟糕的事情,它不能让我的物品从底部生成到顶部,子对齐也无济于事。相反,制作一个列表,将需要生成的所有物品放入其中,然后反转列表并进行生成。这对我很有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接