VirtualizedScrollRectList
是一个帮助程序组件,可表示 ScrollRects
中的超大型列表,而无需支付大量 GameObject 的成本。 实现方法是维护一些完全覆盖 ScrollRect
可见区域的 GameObject,并在列表上下滚动时重用和重新定位它们。
可以在 VirtualizedScrollRectList
场景中找到示例。
脚本编写
使用此项并不像将其作为组件添加到你的 ScrollRect
中那么简单,它还需要一些代码才能开始执行。 下面是需要执行的操作:
- 调用
VirtualizedScrollRectList.SetItemCount
以了解拟化列表中的项数。 - 向
OnVisible
和OnInvisible
添加回调,以便可以使用与提供的索引关联的数据填充该预制件。 - 随着列表随时间的变化,更新
VirtualizedScrollRectList
的项计数表示形式。
注意
VirtualizedScrollRectList
将回收池中的所有 GameObject,并依赖于你通过回调 OnVisible
和 OnInvisible
来(重新)设置对预制件的任何更改。 换句话说,你对 GameObject 所做的更改不会被 VirtualizedScrollRectList
清除。
Prefab
可以在检查器中设置所需的预制件。 列表中的每个 GameObject 都将是此预制件的实例。