En comparación con UIListLayout, UIGridLayout y UITableLayout permiten diseños más estructurados y organizados. Estos son más apropiados para interfaces como un inventario de tienda donde cada artículo puede ser presentado en una cuadrícula de mosaicos del mismo tamaño, o los artículos pueden ser ordenados en filas/columnas relacionadas.
Diseño de cuadrícula
UIGridLayout posiciona GuiObjects hermanos en una cuadrícula de celdas uniformes del mismo tamaño dentro de su contenedor padre. Las celdas se añaden por fila o columna según la FillDirection del diseño hasta que la siguiente celda no quepa, luego comienza una nueva fila o columna. Para un control adicional, puedes usar la propiedad FillDirectionMaxCells para establecer el número máximo de celdas por fila o columna.


Por defecto, UIGridLayout posiciona GuiObjects hermanos en el orden de su LayoutOrder donde los valores más bajos van antes que los valores más altos, y los valores iguales se ordenan dependiendo del orden en que los añadiste. Si cambias la SortOrder del diseño a Enum.SortOrder.Name, los hermanos se ordenan en orden alfabético.
Diseño de tabla
UITableLayout posiciona GuiObjects hermanos y sus hijos en formato de tabla. La FillDirection predeterminada de Vertical significa que los hermanos primero se posicionan en filas, y los hijos de esos hermanos se posicionan horizontalmente para formar columnas, de tal manera que cada celda dentro de una fila tiene la misma altura y cada celda dentro de una columna tiene el mismo ancho.


Este patrón imita la estructura estándar de filas/columnas de HTML:
<table><tbody><tr><!-- Row1 --><td>Etiqueta 1</td> <!-- TextLabel1 --><td>Etiqueta 2</td> <!-- TextLabel2 --><td>Etiqueta 3</td> <!-- TextLabel3 --></tr><tr><!-- Row2 --><td>Etiqueta 4</td> <!-- TextLabel4 --><td>Etiqueta 5</td> <!-- TextLabel5 --><td>Etiqueta 6</td> <!-- TextLabel6 --></tr><tr><!-- Row3 --><td>Etiqueta 7</td> <!-- TextLabel7 --><td>Etiqueta 8</td> <!-- TextLabel8 --><td>Etiqueta 9</td> <!-- TextLabel9 --></tr></tbody></table>
A menos que habilites las propiedades FillEmptySpaceColumns o FillEmptySpaceRows del diseño, el tamaño de los GuiObjects hermanos determina las dimensiones de las celdas. Por ejemplo, un TextLabel de tamaño UDim2.new(0.25, 0, 0.1, 0) creará una celda de tabla del 25% de ancho y 10% de altura dentro del contenedor padre.