UIGridLayout (不要與抽象 UIGridStyleLayout 從中這個類別繼承) 在父UI元素內布置兄弟UI元素的多個行,一次添加元素到一行,直到下一個元素不能匹配為止。然後繼續在下一行中添加元素。UIGridLayout 將取得 UI 元素的 GuiObject.Size 和 GuiObject.Position 控制。在控制下,這些介面元素的屬性將無法在屬性窗口中編輯。
預設情況下,它會將元素排列在 上升順序 中,低值獲得更多優先權過高值,但這可以變更為使用元素名稱來變更 UIListLayout.SortOrder 為 名稱 。當元素被添加/移除或相關屬性變更時,UI列表布局會自動重新佈置元素:GuiObject.LayoutOrder 或 Instance.Name 。這可以透過手動呼叫 UIGridStyleLayout:ApplyLayout() 來啟動,雖然通常不需要。
實際細胞尺寸對所有細胞相同。UIGridLayout會尊重與它放置的UI限制,例如UISizeConstraint和UIAspectRatioConstraint。布局中的元素可以橫跨多個細胞,如果它們具有 UISizeConstraint 設置比 MinSize 更高的 CellSize 。使用 UIGridLayout.FillDirectionMaxCells 可以限制每行的元素數量。如果設為 1,可以創建單行元素(每個元素都會放置在自己的行中)。
此佈局適用於線斷後在隨機細胞後出現 OK 時。例如,一組庫存空間是一個很好的使用這個布局的方法。如果建立一個包含值的表,其中行分割在表中的中間不適合,可能需要使用 UITableLayout 來取代。
概要
屬性
網格中的元素數量。
網格中每個元素的絕對尺寸。
決定網格上元素之間的空間有多少。
決定網格中每個元素的大小。
決定下一個開始之前行或列中可以使用的最大細胞數。
決定從哪個角落網格開始放置 UI 元素。
網格布局佔用的絕對空間。
決定在哪個軸上放置 UI 對象。
決定父元素內的 UI 元素水平對齊。
決定兒童 UI 對象在布局中的排序。
決定父元素內的 UI 元素垂直對齊。
屬性
AbsoluteCellSize
提供網格的每個元素的尺寸在偏移量。僅閱讀。不受網格中任何個別元素適用的 UIScale、UISizeConstraint 或 UIAspectRatioConstraint 影響。
CellSize
(預設值 0、100、0、100) 決定網格中每個元素的大小。與所有 UDim2s 一樣,這個尺寸可以是父容器的尺寸百分比和原始像素偏移值的疊加。如果元素的尺寸有 UIConstraint ,則尺寸將由約限制式決定,而不是網格。
FillDirectionMaxCells
填充方向最大細胞決定在繼續下一行/列之前可以使用的網格上的細胞數(是否這是行或列取決於 UIGridStyleLayout.FillDirection)。此值必須為非負值。
- 如果設為零,則一行/列中不能出現超過父 UI 元素可容納的細胞數量的最大數量。
- 如果設為一,這會創建與由 UIListLayout 創建的列表相似的列表。
StartCorner
起始角(Enum.StartCorner)決定從哪個角落開始放置UI元素。網格在 UIGridStyleLayout.FillDirection 繼續填充元素,直到 UIGridLayout.FIllDirectionMaxCells 細胞被布置在該行/列中或所有父UI元素的空間被以前的細胞佔用。
以上,藥水是第一個ImageLabel ,接著是寶石和劍。UIGridLayout 使用底部右側的 Enum.StartCorner。UIGridStyleLayout.FillDirection 是水平的。