类似QQ好友列表"思想"


程序员与美女--绝配
程序员与美女--绝配

背景

  • 现如今越来越多的应用中都会有类似qq好友列表的展示与隐藏的情况,那么有必要熟悉一下这一块的思想,之后写起代码来将会得心应手.
  • 本文只是抽取以往项目中的一块进行思想讲解,只有懂得了原理,那么代码写起来快的让你飞起来.(接下来有点枯燥,我尽量用最简洁,精准的语言给予重点描述以减少观赏的疲劳性)

重要思想

  • 总体分为两块:

    • 没有扩展的时候,只是显示sectionHeader
    • 扩展的时候,需要显示每个section下的具体cell
  • 从上述分析可知,需要两种模型,一种是cellItem,另一种是sectionItem

    • cellItem的内容很基本,用系统的cell就可以展示
    • sectionItem的内容,需要关联该分组内有多少的cell,具体是哪些cell,因此需要一个数组模型来保存具体的cell模型即可.
  • 经过上述两步,在控制器进行绑定相应的DataSource,Delegate,实现相应的方法,基本可完成.


等等是不是忘了什么?

  • note: 按照上述的思想编写之后,并不会展示cell,原因分析如下:
    • 要想判断当前是否扩展,则需要一个属性记录.这个记录由于是关于section的,因此需要保存到section相应的模型中.
    • 当每次点击section的时候,进行改变该属性值即可.
  • 还有另一个问题是:如何刷新此刻是否折叠,何时进行刷新的操作?
    • 分析之后,应该在点击section时候,进行刷新该section组即可.

歇菜了
歇菜了

以上就是主要的思想.之后会将代码Demo传上去,欢迎继续关注.

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

推荐阅读更多精彩内容