【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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值