要实现的效果如下图
其中一级和二级cell都是分组,三级cell为最小单元
思路1:沿着类似QQ通讯录的二级分组展开收起的思路(使用一维数组管理section,使用二维数组管理row,展开和收起使用cell的rowheight控制,展开返回高度,收起时返回对应cell高度为0),可以用使用三维数组来管理第三级cell的显示。but。。。没设计出合适的UI,这思路就放弃了。有兴趣的可以尝试一下
思路2:在二级分组展开的cell里面,根据数据手动循环创建三级“cell(实际上是二级cell的子视图)”的视图,点击section打开关闭的实现不变,当点击cell的时候,显示或者隐藏三级“cell”并且动态改变二级cell的高度使得数据完全显示。这种思路比思路1稍微绕了一些,但是UI的自定义是可以实现的。