1.显示多级菜单,默认显示一级.
2.可以通过点击有子级的行展开菜单
3.通过复选框,改变选中状态。状态有全选、半选、未选中
4.可以扩展获取当前所选的条目集合
1.首先根Datasource进行数据处理
2.生成一个handler:MultilevelDataHandler 将数据处理逻辑在handle处理,将数据处理隔离
3.建立一个数据模型,需要用一些属性记录层级关系。最后我用了一个字典来记录原始的数据信息。
这里是Demo的数据Json
4.将jsonDictionary转化成数据模型的时候,把层级关系也一并赋值。
由于数据层级数量的不确定性,这里用递归的方式把每层的数据结构都放到其父类的subArray当中。
5.建一个新的数组用来存储要在tableView上展示的数据模型,按照父类子类,父类子类的顺序排列。我这里默认是把第一级全部关闭展示的
6.实现菜单展开关闭功能
7.实现复选框功能
根据locationArray里记录的每一层父级的序号,找到当前model的父级
由于层级数量的不确定性,所以多次使用到了递归的方式。要注意递归的结束条件,必须陷入死循环当中。
https://github.com/YuTongHon/MultilevelMenuWithCheckbox
复选框是一种可同时选中多项的基础控件,也是基于计算机语言的编程代码框架,它的作用是用鼠标左击进行点选 *** 作来完成复选多个目标。复选框,用方框表示。分型管理树允许控制分型过程中所创建的分型对象的可见性。通过分型对象左边的复选框,可以一次只显示一个对象是否可见。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)