iOS 动态树形结构 - 实现多级菜单,附带复选框功能

iOS 动态树形结构 - 实现多级菜单,附带复选框功能,第1张

关键词: 递归 多级菜单 复选

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

复选框是一种可同时选中多项的基础控件,也是基于计算机语言的编程代码框架,它的作用是用鼠标左击进行点选 *** 作来完成复选多个目标。复选框,用方框表示。分型管理树允许控制分型过程中所创建的分型对象的可见性。通过分型对象左边的复选框,可以一次只显示一个对象是否可见。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11732543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存