ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现

源代码:TreeTableView-master(from:github)

ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第1张图片
初始效果


ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第2张图片
目标效果

目标1:实现node模型封装,node模型转换成一般模型。

1.先根据自己需求创建自定义模型

ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第3张图片
name为节点名称(必要)。array为子节点数组(必要)

2.在view里面重写一个initwithframe方法,多传入一个包装普通模型类的NsArray对象


ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第4张图片
initWithFrame方法


ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第5张图片
属性

3.写一个递归方法,把普通模型对象转换成Node模型对象。

ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第6张图片
递归方法

目标2:加入箭头按钮,点击节点后按钮变换方向。

1.修改node模型(新建属性来判断按钮方向是为了防止改变源代码逻辑)


ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第7张图片
Node头文件

2.在创建node属性时判断是否为子节点,并设置isRight属性


ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第8张图片
设置isRight属性

3.修改数据源方法


ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第9张图片
数据源方法

4.在处理点击事件的代理方法中,修改按钮方向


ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现_第10张图片
行点击事件代理方法

你可能感兴趣的:(ios多层目录结构tableview:node模型封装以及分支节点下拉按钮实现)