Em comparação com UIListLayout , UIGridLayout e UITableLayout permitem layouts mais estruturados e organizados.Estes são mais apropriados para interfaces como um inventário de loja onde cada item pode ser apresentado em uma grade de ladrilhos de tamanho igual, ou os itens podem ser classificados em linhas/colunas relacionadas.
Layout de grade
UIGridLayout posições irmãs GuiObjects em uma grade de células uniformes do mesmo tamanho dentro de seu contêiner pai.Células são adicionadas por linha ou coluna com base no layout de FillDirection até que a próxima célula não se encaixe, então uma nova linha ou coluna começa.Para controle adicional, você pode usar a propriedade FillDirectionMaxCells para definir o número máximo de células por linha ou coluna.


Por padrão, UIGridLayout posições irmãs GuiObjects em ordem de seus LayoutOrder valores mais baixos vão antes de valores mais altos, e valores iguais são classificados dependendo da ordem em que você os adicionou.Se você alterar o layout de SortOrder para Enum.SortOrder.Name, os irmãos são classificados em ordem alfabética.
Layout da mesa
UITableLayout posições irmãs GuiObjects e seus filhos no formato de tabela.O padrão FillDirection de Vertical significa que os irmãos são posicionados primeiro em fileiras e os filhos desses irmãos são posicionados horizontalmente para formar colunas, de modo que cada célula dentro de uma fileira tenha a mesma altura e cada célula dentro de uma coluna tenha a mesma largura.


Esse padrão imita a estrutura padrão de linha/coluna HTML:
<table><tbody><tr><!-- Row1 --><td>Label 1</td> <!-- TextLabel1 --><td>Label 2</td> <!-- TextLabel2 --><td>Label 3</td> <!-- TextLabel3 --></tr><tr><!-- Row2 --><td>Label 4</td> <!-- TextLabel4 --><td>Label 5</td> <!-- TextLabel5 --><td>Label 6</td> <!-- TextLabel6 --></tr><tr><!-- Row3 --><td>Label 7</td> <!-- TextLabel7 --><td>Label 8</td> <!-- TextLabel8 --><td>Label 9</td> <!-- TextLabel9 --></tr></tbody></table>
A menos que você habilite as propriedades de layout ou , a largura do irmão determina as dimensões das células.Por exemplo, um TextLabel de tamanho UDim2.new(0.25, 0, 0.1, 0) criará uma célula de tabela de 25% de largura e 10% de altura dentro do contêiner pai.