Unity 实现可收缩的分组tableview

Low 爆的效果图

该组件由 NGUI example9 改编而成;源代码已经上传至GitHub


该教程主要做简要分析,因为该组件确实很简单,所以想负责也没法复杂。

功能:

根据配置的分组组数、每组cell的个数,动态生成滚动试图;点击图中红色标注的图片(请吐槽我找的图标太丑,点击它可以转动哦),可以收放当前组的cell。

脚本ShrinkGroupTableView分析

  1. CellNumberForSections 属性意思为:每组配置多少cell;
  2. PrefabPathForSection 属性意思为:组 header prefab 在 Resources 文件夹中的位置
  3. PrefabPathForCell 属性意思为:每组 cell prefab 在Resources 文件夹中的位置

当你设置完成这些参数时,运行程序就可以生成你想要的 可收缩分组tableview


简要讲解下注意事项:

我实例化预制体所采取的方法为:
NGUITools.AddChild(parent,prefab);

为什么没有采用 Instantiate(prefab,position,rotation)呢? 因为这样干,生成的tableview位置不对啊!为什么?我也不知道~~

猜想:tableView , grid ,NGUITools.AddChild 这一套方法都是NGUI的,可能做了内部处理;而Instantiate是GUI的,自己没控制好。

好了,按着源代码操作,就可以得到你想要的效果。当然,可以在脚本中为cell绑定事件、添加现实数据。


想探索详情,请下载源码,有请帮我设计更好的代码。


潜水简书很长时间了,一直没有分享技术、或是值得分享的东西,感觉无法何处开始。直到看了《自创四维》中的一句话 “人生永远都是测试版”;我才幡然醒悟,那我也试着写写自己所做的beta吧。

内容如有不足之处,请指正

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容