In confronto a UIListLayout , UIGridLayout e UITableLayout consentono layout più strutturati e organizzati.Queste sono le più appropriate per interfacce come un inventario del negozio in cui ogni oggetto può essere presentato in una griglia di piastrelle di dimensioni uguali, o gli oggetti possono essere ordinati in righe/ colonne correlate.
Disposizione della griglia
UIGridLayout posizioni fratello GuiObjects in una griglia di celle uniformi dello stesso dimensionamento all'interno del loro contenitore padre.Le celle vengono aggiunte per riga o colonna in base al layout di FillDirection fino a quando la prossima cella non si adatta, quindi inizia una nuova riga o colonna.Per un ulteriore controllo, puoi utilizzare la proprietà FillDirectionMaxCells per impostare il numero massimo di celle per riga o colonna.


Per impostazione predefinita, UIGridLayout posizioni fratello GuiObjects in ordine dei loro LayoutOrder dove i valori più bassi vanno prima dei valori più alti, e le posizioni uguali si ordinano a seconda dell'ordine in cui li hai aggiunti.Se cambi il layout di SortOrder a Enum.SortOrder.Name, i fratelli si ordineranno in ordine alfabetico.
Disposizione della tabella
UITableLayout posizioni fratello GuiObjects e i loro figli in formato tabella.Il predefinito FillDirection di Vertical significa che i fratelli vengono posizionati prima nelle righe e i figli di tali fratelli vengono posizionati orizzontalmente per formare colonne, in modo che ogni cellula all'interno di una riga abbia lo stesso altezza e ogni cellula all'interno di una colonna abbia lo stesso larghezza.


Questo modello imita la struttura standard HTML a riga/colonna:
<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 meno che tu non abiliti le proprietà di layout FillEmptySpaceColumns o FillEmptySpaceRows , la dimensione del fratello GuiObjects determina le dimensioni delle celle.Ad esempio, un TextLabel di dimensioni UDim2.new(0.25, 0, 0.1, 0) creerà una cellula di tabella di 25% di larghezza e 10% di altezza all'interno del contenitore padre.