该组件由 NGUI example9 改编而成;源代码已经上传至GitHub
该教程主要做简要分析,因为该组件确实很简单,所以想负责也没法复杂。
功能:
根据配置的分组组数、每组cell的个数,动态生成滚动试图;点击图中红色标注的图片(请吐槽我找的图标太丑,点击它可以转动哦),可以收放当前组的cell。
脚本ShrinkGroupTableView分析
- CellNumberForSections 属性意思为:每组配置多少cell;
- PrefabPathForSection 属性意思为:组 header prefab 在 Resources 文件夹中的位置
- PrefabPathForCell 属性意思为:每组 cell prefab 在Resources 文件夹中的位置
当你设置完成这些参数时,运行程序就可以生成你想要的 可收缩分组tableview。
简要讲解下注意事项:
我实例化预制体所采取的方法为:
NGUITools.AddChild(parent,prefab);
为什么没有采用 Instantiate(prefab,position,rotation)
呢? 因为这样干,生成的tableview位置不对啊!为什么?我也不知道~~
猜想:tableView , grid ,NGUITools.AddChild 这一套方法都是NGUI的,可能做了内部处理;而Instantiate是GUI的,自己没控制好。
好了,按着源代码操作,就可以得到你想要的效果。当然,可以在脚本中为cell绑定事件、添加现实数据。
想探索详情,请下载源码,有请帮我设计更好的代码。
潜水简书很长时间了,一直没有分享技术、或是值得分享的东西,感觉无法何处开始。直到看了《自创四维》中的一句话 “人生永远都是测试版”;我才幡然醒悟,那我也试着写写自己所做的beta吧。
内容如有不足之处,请指正