【Unity3D】【NGUI】UITable

原文:http://www.tasharen.com/forum/index.php?topic=6758.0

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章