Unity scrollrect视口不可调整大小

时间:2019-05-26 16:48:45

标签: user-interface unity3d

我在UI画布上有一个scrollrect对象,该对象具有一个视口对象子对象,而视口对象具有一个内容对象子对象,该子对象存储了所有要滚动的项目。 enter image description here

我已选择视口作为参考。我想相对于LevelScroller调整视口矩形的大小(请参见层次结构),以便在滚动视图周围留出一定的空白,以使滚动项不会触及灰色LevelScroller矩形的边缘。但是视口矩形不能调整大小。现在的结果是这样的:

enter image description here

查看如何用灰色面板切掉顶部的按钮(1S-Levitation)。我希望在切掉的点和灰色框之间有一个边距。

我尝试将水平布局组添加到LevelScroller以强制添加页边距,但这没有用。为什么视口无法调整大小?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我认为,视口不是可调整大小的,因为它可以管理用户交互过程中滚动的行为。举例来说,您的内容容器中只有一个单元格,用户将其向下拖动,一旦释放,它应该移回视口顶部,如果您在其中放置边距,将无法执行此操作完全回到顶部。

但希望您可以通过以下技巧来提高利润:

创建一个名为Scroller的空游戏对象,并将其设置为LevelScroller的父对象。然后,将LevelScroller RectTransform设置为在两个方向上拉伸,然后在RectTransform的Top,Bottom,Right和Left字段上设置所需的边距。你应该有这样的东西:

LevelScroller as a child with 10 pixels of top and bottom margin

然后创建父Scroller的另一个空对象子级,并将其放在LevelScroller的后面。让我们称之为BgImage。现在,将BgImage的RectTransform设置为在两个方向上拉伸并向其中添加图像。 Ta daaa,您现在应该在视口中有背景和边距了。

BgImage working as the background of the LevelScroller