美文网首页我依然爱iOS
iOS实例——依赖关系的分类展现列表

iOS实例——依赖关系的分类展现列表

作者: Cloudox_ | 来源:发表于2017-11-27 10:40 被阅读2次

因为项目需要实现了一个分类查找的界面,多个类别/指标之间有多级依赖关系,效果如下:

20170419220453231.gif

整个demo使用MVC架构。

分三级,也就是分三类,用表头的view来展示,自定义实现一个表头的headerView类。

表头右边指标的箭头动画使用UIView动画实现,点击后会判断该类下是否有内容并且避免跳级展开显示,通过delegate回调刷新列表,但是为了完整显示箭头动画,这个回调操作使用GCD来延迟执行。收起时会收起所有小于等于该级别的分类列表

各个分类/指标使用一个自定义的Model来装载数据。每个Model有以下数据:

  • id
  • 标题
  • 是否是叶子节点(比如古文学就是个叶子节点,下面不会再有分类了,因此点击后没有效果了
  • 下属节点数组(比如文学下属数组包含中国文学和外国文学,中国文学下属数组包含古文学和小说文学,在点击一个节点后通过该数组获取其下属内容并显示)

采用这种结构是为了方便构建多级依赖关系的树状结构,同时用一个是否有叶子节点的属性,可以用于不一定都是满树的情况。

列表及一些逻辑放在Controller内,列表、delegate等,都比较常见。

具体可以直接看代码,注释很详细:https://github.com/Cloudox/OXClassifyTagDemo


查看作者首页

相关文章

  • iOS实例——依赖关系的分类展现列表

    因为项目需要实现了一个分类查找的界面,多个类别/指标之间有多级依赖关系,效果如下: 整个demo使用MVC架构。 ...

  • RunTime 相关函数使用

    方法交换,一般在分类的load方法使用 获取方法列表 获取实例变量列表 获取实例属性列表 获取协议列表 为类别添加...

  • iOS实例——滑动列表展现/隐藏顶部视图

    引 项目中需要一个效果:下滚列表时顶部的自定义视图不移动,上移时隐藏顶部视图,提高列表的展现范围。在此基础上海加了...

  • Category实现原理

    依赖runtime 动态的将分类的方法和类方法合并到类对象和元类对象的方法列表中 (对实例对象 类对象 元类对...

  • 2020-03-09

    分类: 运行时添加类方法列表、实例方法列表、实现协议列表,没有属性列表,使用@property添加的属性,编译期间...

  • 数据持久化:概述

    分类 简单来说,IOS的数据持久化有四种方式: 属性列表 对象归档 iOS的嵌入式关系数据库SQLite3 苹果公...

  • thinkphp5.1中分类列表的递归查询

    问题的源头是我在查看分类列表的时候,发现我数据库中的分类并没有全部展现到我的分类列表页面上,由此判断出,我的查询...

  • 转载UICollectionView

    ##一、UICollectionView的简介 UICollectionView是IOS 6中引进的列表展现控件,...

  • 列表框架之二

    对应的内容分类im信息流列表短信列表资讯列表音乐列表视频列表 对应不同的详情页面列表页面有不同的展现特点,显示着背...

  • iOS开发:分类添加属性,不会添加实例变量

    1、不能在分类中添加实例变量的原因 因为分类的本质也是结构体,这里没有实例变量的列表,添加进去存不了。(个人理解)...

网友评论

    本文标题:iOS实例——依赖关系的分类展现列表

    本文链接:https://www.haomeiwen.com/subject/olprbxtx.html