在NGUI中,UIGrid是用来轻松的排列众多widget到固定大小格子的脚本。 编辑时和运行时都可以使用。如果想使用可变的格子单元大小,你可以使用UITable(可动态扩展)。
Arrangement:排列的方向
Horizontal : 水平排列
Vertical : 垂直排列
Cell Snap : 按子项当前的位置对齐子项
其中Cell Snap 比较有趣,如果它的宽或高设置为0,不会去排列。
源码如下:
if (arrangement == Arrangement.CellSnap)
{
if (cellWidth > 0) pos.x = Mathf.Round(pos.x / cellWidth) * cellWidth;
if (cellHeight > 0) pos.y = Mathf.Round(pos.y / cellHeight) * cellHeight;
}
Cell Width和Height决定了所有条目的间隔
Sorting:排列的顺序
None:没有顺序。
Alphabetic:按字母的顺序。
Horizontal:水平放置的顺序。
Vertical:垂直放置的顺序。
Custom:自定义的方式。比如将Sprite的名字命名方式如下:001,002,003
Hide Inactive:隐藏不活动的组件
不选中时,隐藏组件也会占用一个位置。
Pivot:锚点的位置。
决定了你动态扩展时的方向。
Max Per Line:最大行或是列的数量。