背景
- 现如今越来越多的应用中都会有类似qq好友列表的展示与隐藏的情况,那么有必要熟悉一下这一块的思想,之后写起代码来将会得心应手.
- 本文只是抽取以往项目中的一块进行思想讲解,只有懂得了原理,那么代码写起来快的让你飞起来.(
接下来有点枯燥,我尽量用最简洁,精准的语言给予重点描述以减少观赏的疲劳性
)
重要思想
-
总体分为两块:
- 没有扩展的时候,只是显示sectionHeader
- 扩展的时候,需要显示每个section下的具体cell
-
从上述分析可知,需要两种模型,一种是
cellItem
,另一种是sectionItem
-
cellItem
的内容很基本,用系统的cell就可以展示 -
sectionItem
的内容,需要关联该分组内有多少的cell,具体是哪些cell,因此需要一个数组模型
来保存具体的cell模型即可.
-
经过上述两步,在控制器进行绑定相应的DataSource,Delegate,实现相应的方法,基本可完成.
等等是不是忘了什么?
- note: 按照上述的思想编写之后,并不会展示cell,原因分析如下:
- 要想判断当前是否扩展,则需要一个属性记录.这个记录由于是关于section的,因此需要保存到section相应的模型中.
- 当每次点击section的时候,进行改变该属性值即可.
- 还有另一个问题是:如何
刷新此刻是否折叠
,何时进行刷新的操作?- 分析之后,应该在点击section时候,进行刷新该section组即可.
以上就是主要的思想.之后会将代码Demo传上去,欢迎继续关注.