user-interface - Unity scrollrect 视口不可调整大小
问题描述
我在 UI 画布上有一个 scrollrect 对象,它有一个视口对象子对象,并且视口对象有一个内容对象子对象,它存储所有要滚动的项目。
我选择了视口以供参考。我想相对于 LevelScroller 调整视口矩形的大小(请参阅层次结构),以便在滚动视图周围有一个边距,以便滚动项不会触及灰色 LevelScroller 矩形的边缘。但是视口矩形不可调整大小。现在结果是这样的:
看看顶部的按钮(1S-Levitation)是如何被灰色面板切断的。我希望在它被切断的点和灰色框之间有一个边距。
我曾尝试将水平布局组添加到 LevelScroller 以强制添加边距,但这不起作用。为什么视口不可调整大小?
任何帮助表示赞赏
解决方案
我相信视口不可调整大小,因为它应该管理您的滚动在用户交互期间的行为方式。例如,您的内容容器中只有一个单元格,用户将其向下拖动,一旦它被释放,它应该移回您的视口顶部,如果您在其中放置边距,它将无法使用完全回到顶部。
但希望您可以通过以下技巧获得保证金:
创建一个名为 Scroller 的空游戏对象并将其设置为 LevelScroller 的父亲。然后,将您的 LevelScroller RectTransform 设置为双向拉伸,并在 RectTransform Top、Bottom、Right 和 Left 字段上设置所需的边距。你应该有这样的东西:
LevelScroller 作为具有 10 像素上下边距的子项
然后创建另一个你的父 Scroller 的空对象子对象,并将其放在 LevelScroller 后面。让我们称之为 BgImage。现在,将 BgImage 的 RectTransform 设置为双向拉伸并向其添加图像。Ta daaa,你现在应该在你的视口上有你的背景和你的边距。
推荐阅读
- java - 将库添加到 java 项目时找不到 Eclipse 类文件编辑器源
- apache-spark - PySpark 中 JDBC 上的自定义分区
- list - 将第二个列表参数的第一个元素与第一个列表参数的第一个元素交换,然后使用以下函数返回此列表
- hyperledger-fabric - 为通道中的私人交易动态选择组织
- c++ - 我可以使用 vtkCellLocator 按行查找相交的单元格吗
- metal - 是否可以在金属中使用双三次采样器?
- listview - UWP ListView 不固定,宽度变化
- google-bigquery - simba bigquery jdbc 驱动如何处理运行时间更长的查询
- flutter - 重新缩放浏览器时更改 Web 上的字体大小
- vhdl - 我在 VHDL 程序中创建了无限循环