【Unity3D】【NGUI】UITable
阿新 • • 發佈:2019-01-29
NGUI討論群:333417608
概述
UITable用來方便的在一個可變尺寸的單元格子排列widget。如果你熟悉HTML的table,就會發現他們差不多。編輯時和執行時都可以用。如果你想要固定格子大小,那就用Grid。
選擇一個panel,之後在scene
view中右鍵點選任何地方,在Create menu裡面選擇Table,就可以建立一個UIGrid。當然你也可以簡單的把UITable元件掛到任何game
object上。
Table的排列方向會向左。Columns控制每一行有多少個子物體,超過這個數量多餘的會放在新的一行。根據Direction的設定,決定新行會放在之前行的上面還是下面。
預設情況下Table重新調整所有的子節點的位置,子節點的排序是以建立時候的順序為準。如果想要指定排列順序,就把子節點的名字用字母排序的方式命名
(“001”, “002”,“003”等),之後勾選Sorted。這樣做就會讓Table在重新排列之前先按名字進行排序。
最後,如果你想給看不到的子節點留下位置,勾選掉Hide Inactive。預設是勾選上的,所有看不到的子節點在排列時會被忽略。
你可以在每個格子中間加入空隙通過修改Padding屬性。
注意每個子節點的pivot的問題。如果所有自己點都是居中的pivot,他們會以table的中心開始排列。如果是左上的pivot,他們會以table的左上角開始排列。最好對每個table裡面的條目使用同樣的pivot。
Table在執行時排列很管用,但是也可以在編輯狀態下使用。只要右鍵這個指令碼之後選擇Execute選項。當你不需要這個指令碼的時候,直接刪除就可以。
小貼士 #2
在子節點上的TweenScale操作會觸發table重新計算尺寸,把其他的節點重置位置。用這個方法可製作可摺疊的區域,就像NGUI裡的例子Quest Log一樣。
類文件
http://tasharen.com/ngui/docs/class_u_i_table.html