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

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

初始效果


目标效果

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

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

name为节点名称(必要)。array为子节点数组(必要)

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


initWithFrame方法


属性

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

递归方法

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

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


Node头文件

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


设置isRight属性

3.修改数据源方法


数据源方法

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


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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,083评论 19 139
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,242评论 6 13
  • 转载请声明出处 博客原文 随手翻阅以前的学习笔记,顺便整理一下放在这里,方便自己复习,也希望你有也有帮助吧 第一课...
    前端进阶之旅阅读 12,810评论 13 94
  • 一直以来,我最讨厌的地方有两个:火车站和医院。在这两个地方,敏感的我总能觉察到种种的人间冷暖和世间百态。所以啊,每...
    阿卡卡的阅读 295评论 1 3
  • 一、本月整体情况描述 本月前三个星期在上班,因为突发的疫情,再加上为休假做准备,所以工作任务都比较重。 最后一个星...
    柒柒小酱阅读 640评论 5 13