iOS-swift-如何实现树级目录的折叠和展开

如何实现树级目录的折叠和展开

1 引言

最近一直在用swift写项目,目前已经完成了小半,大概11月中旬能够完成,到时会出个系列视频,把源码放出来。我是iOS 零基础学习swift,之前没有任何objc经验,这几个星期一直在掉坑爬坑的循环中度过。当前不仅swift中文资料稀缺,英文资料也很少,不少问题到最后还是要去看objc代码,导致我现在看objc连蒙带猜也能明白个七七八八。除此之外,加的几个swift学习群中的大牛也很热心,很多问题都能直指痛点。所谓饮水思源,上周趁项目空闲,帮一位网友做了个demo,主要功能就是“如何实现树级目录的折叠和展开”。

题目乍看上去挺唬人,其实我们平时经常使用,windows资源管理器的目录树,点击减号折叠当前目录及子目录,点击加号则展开。demo所要完成的功能也类似,不过目录换成了UITableViewCell,加号减号变成了单击SectionHeader。下图是功能演示(上传的gif图片不显示,请点击http://i1.hoopchina.com.cn/blogfile/201409/30/BbsImg141204328756017_360*240.gif)

2 源码下载

这个是站内链接:http://download.csdn.net/detail/adoaiwen1314/7991993

注意:运行demo的时候请开启代理,这位网友的网站被墙了:http://redian.today/mobi.php?mod=comment&id=218560&type=json

3 FAQ

demo中解析Json的函数有点复杂,只是针对特定的数据结构,可以忽略不看,主要是如何用sectionHeader实现隐藏和展开的过程。具体代码就不分析了,有疑问的可以在评论中留言。

时间: 2024-12-09 23:34:03

iOS-swift-如何实现树级目录的折叠和展开的相关文章

iOS:分组的表格视图UITableView,可以折叠和展开

虽然表格视图可以分组,但是如果分组后,每一行的内容太多,往后翻看起来比较的麻烦.为了解决这个麻烦,可以将分组的行折叠和展开.折叠时,行内容就会隐藏起来:展开时,行内容就会显示出来. 折叠时: 展开后:       具体的代码如下: 1 #import "ViewController.h" 2 3 @interface ViewController ()<UITableViewDataSource,UITableViewDelegate> 4 @property (weak,

RDIFramework.NET V2.7 Web版本升手风琴+树型目录(2级+)方法

RDIFramework.NET V2.7 Web版本升手风琴+树型目录(2级+)方法 手风琴风格在Web应用非常的普遍,越来越多的Web应用都是采用这种方式来体现各个功能模块,传统的手风琴风格只支持两级模块,当我们的功能模块多于两级时,我们一般采用树来构造功能菜单(我们的框架也提供了这种方式),但这种方式没有手风琴效果美观,因此我们采用了手风琴+树的形式来构造"手风琴+树型目录(2级+)"界面风格,以展示多级功能菜单,满足用户的要求.Web展示效果如下: 要以"手风琴+树型

Linux 目录详解 树状目录结构图

1.树状目录结构图 2./目录 目录 描述 / 第一层次结构的根.整个文件系统层次结构的根目录. /bin/ 需要在单用户模式可用的必要命令(可执行文件):面向所有用户,例如:cat.ls.cp,和/usr/bin类似. /boot/ 引导程序文件,例如:kernel.initrd:时常是一个单独的分区[6] /dev/ 必要设备, 例如:, /dev/null. /etc/ 特定主机,系统范围内的配置文件. 关于这个名称目前有争议.在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为

IOS中获取各个文件的目录路径的方法和NSFileManager类

转自:http://blog.sina.com.cn/s/blog_5fb39f910101di92.html IOS中获取各种文件的目录路径的方法 iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有

[IOS]swift自定义uicollectionviewcell

刚刚接触swift以及ios,不是很理解有的逻辑,导致某些问题.这里分享一下swift自定义uicollectionviewcell 首先我的viewcontroller不是直接继承uicollectionviewcontroller,而是添加的uicollectionview到我的storyboard, 然后再新建一个swift的文件,让这个swift继承uicollectionviewcell import Foundation class SVGCell :UICollectionView

iOS:Swift界面实例1, 简单界面

Apple推出了基于Objective-C的新语言Swift. 通过实例, 我们可以很好的感受这门新语言 注意事项: 在XCode6_Beta中, 如果有中文, IDE的自动补全功能就会失效, 所以开始调试的时候可以先用英文, 后面再用中文替代. 1. 新建iOS -> Single View Application. 2. 修改AppDelegate.swift文件 1 // 2 // AppDelegate.swift 3 // UIByCode_Swift_1_HelloWorld 4 /

根目录,当前目录,和父级目录在node中写法需要注意的地方

1. 注意  "/style"            "./style"   的区别一个是绝对路径,一个是相对路径, ../ 父级目录./ 当前目录/ 根目录,也叫绝对路径,在一些软件中如果环境变量配置有误,系统或者应用程序是无法查找到对应目录的,所以报错 import './style/styles.css';//require('styles.css');报找不到文件,webpack需要配置额外参数 node 中用 requrie('xxx'), import

iOS - Swift UISearchController仿微信搜索框

0x01.创建一个UISearchController 如果传入的searchController为nil,则表示搜索的结果在当前控制器中显示,现在我让它在searchVC中显示. // 创建searchResultVC let searchVC = UIViewController() // 设置背景颜色为红色 searchVC.view.backgroundColor = UIColor.red let searchController = UISearchController(search

IOS中获取各种文件的目录路径的方法

iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory()), 手动保存的文件在documents文件里 Nsuserdefaults保存的文件在tmp文件夹里 1.Documents 目录:您应该将所有de应用程序数据文件写入到这个目录下.这个目录用于存储用户数据或其它应该定期备份的信息. 2.AppName.app 目录:这是应用程序的程序包目录,