第三方库RATreeView的使用记录

由于项目需要用到树状列表,可以增加成员变量,于是用了第三方RATreeView开元库,头一次使用,安装github上的使用说明和Demo跑了一下,挺满意,增加成员什么的都很简单,和tableview很像是,但是在处理选择的cell时我纠结了一会,用惯了tableview的index:index.row   index.section等,猛然接触到RATreeView处理时,不知道该如何办了,下面记录的我学习过程,

下面先看下,RATreeView是如何管理选择这个动作的,方法如下:

<span style="font-size:18px;">//Managing Selections
- (id)treeView:(RATreeView *)treeView willSelectRowForItem:(id)item treeNodeInfo:(RATreeNodeInfo *)treeNodeInfo;
- (void)treeView:(RATreeView *)treeView didSelectRowForItem:(id)item treeNodeInfo:(RATreeNodeInfo *)treeNodeInfo;
- (id)treeView:(RATreeView *)treeView willDeselectRowForItem:(id)item treeNodeInfo:(RATreeNodeInfo *)treeNodeInfo;
- (void)treeView:(RATreeView *)treeView didDeselectRowForItem:(id)item treeNodeInfo:(RATreeNodeInfo *)treeNodeInfo;</span>

其实我们有用的信息都存储在treeNodeInfo中,下面我们来分析一下 RATreeNodeInfo

@property (nonatomic, getter = isExpanded, readonly) BOOL expanded;  //判断是否展开

@property (nonatomic, readonly) NSInteger treeDepthLevel;   //树状展开的深度,也就是层次级别

@property (nonatomic, readonly) NSInteger siblingsNumber;

@property (nonatomic, readonly) NSInteger positionInSiblings;    //在每个层次中,我们选择的单元处于的位置,也就是索引

@property (strong, nonatomic, readonly) RATreeNodeInfo *parent;   //我们选择的cell的上一级信息汇总

@property (strong, nonatomic, readonly) NSArray *children;   //我们选择的cell 的子类包含的成员数组

@property (strong, nonatomic, readonly) id item;

有用的信息我都已经标出来了。

可能到现在你还混乱则呢,什么是树状结构,什么是层次?下面我们来张图分析一下:

第三方库RATreeView的使用记录,布布扣,bubuko.com

时间: 2024-12-16 20:25:20

第三方库RATreeView的使用记录的相关文章

iOS 8:帮妹子调试第三方库 - RATreeView

关键字:RATreeView  妹子 周日晚上遇到一妹子用RATreeView(GitHub链接),想改变二级Cell高度.这库我也没接触过,但是,对方是妹子,明天还要交差,那就硬着头皮看代码吧.没想到此库结构非常清晰,真是业界良心.现在老了,很多事做完就忘,当是日志写写.下面记录下查找问题的过程. 1.先运行demo.如果跑不起来,那真是坑爹了.不过,免费的东西,也别要求太多,有代码就挺厚道的,毕竟提供了参考.demo被妹子改过,还好功能较单一. 2.看AppDelegate,找rootVie

android studio 导入第三方库的记录

转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50493582 android studio 导入第三方库的记录.jar包 和 库 一.jar包 1.jar包的话非常easy,首先换成project模式.将你要用的jar包拷贝到lib以下.如图 2.然后右键选择Add as libary(多个jar也仅仅要随便选一个就这样加入就好了). 3.或者按住 shirt + ctrl + alt + s,然后按图所看到的选择文件加入. 二.

使用pip安装第三方库报错记录

今天在使用pycharm导入第三方库的时候,报了好多超时错误,还有标题中的找不到版本,应该是网络的原因,记录下解决的办法: raise ReadTimeoutError(self._pool, None, 'Read timed out.')pip._vendor.requests.packages.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read ti

python中常用第三方库记录

python中有很多很好用的第三方库,现在记录一下这些库以及如何下载 一.virtualenv,这是一个可以将生产环境隔离开的python库,非常好用 在linux下使用pip install virtualenv window下建议使用virtualenvwrapper-win, pip install virtualenvwrapper-win 这个库的简单入门使用请一步另一篇文章 http://www.cnblogs.com/lgh344902118/p/7010797.html 二.re

Egret 集成第三方库 记录

引入第三方库pureMVC 这次我们要使用到一个mvc开发框架-pureMVC,熟悉as3的朋友一定也对这个框架不陌生吧.不熟悉的也没关系,这个框架不是这次的主角.我们从 这里 下载pureMVC的TypeScript版本.得到puremvc-typescript-standard-1.0.d.ts 和 puremvc-typescript-standard-1.0.js这两个文件,其实.d.ts就类似于c++里面的.h头文件,只有空方法和空属性,真正的实现是在js文件或者ts文件里面.在项目里

记录一些好用的iOS第三方库

CBStoreHouseRefreshControl:一个效果很酷炫的下拉刷新控件. ZLSwipeableView:ZLSwipeableView是一个方便做出卡片效果的UI库,支持各种卡片的滑动效果. YTKNetwork:YTKNetwork 是基于 AFNetworking 封装的 iOS 网络库,提供了更高层次的网络访问抽象.相比 AFNetworking,YTKNetwork 提供了以下更高级的功能:按时间或版本号缓存网络请求内容.检查返回 JSON 内容的合法性.文件的断点续传.批

iOS:实现图片的无限轮播(二)---之使用第三方库SDCycleScrollView

下载链接:github不断更新地址:https://github.com/gsdios/SDCycleScrollView 使用原理:采用UICollectionView的重用机制和循环滚动的方式实现图片的无限轮播,播放非常顺畅,解决了UISCrollView使用时从最后一张跳到第一张时的生硬状态. 主要类截图: SDCollectionViewCell:用来重用的item,即显示图片的视图: SDCycleScrollView: 对外提供的一个创建轮播器的接口类,使用者就是直接使用这个类来实现

数据库使用之第三方库 FMDB

下载 FMDB 1. 引进 sqlite3 工具箱,在要进行数据库操作的类里引进头文件 : 因为第三方软件同样是使用  sqlite 工具箱来操作数据库的,只不过是简化了操作,让语法更接近 OC 的语法, 而不需要使用过多的 C 语法: #import <sqlite3.h> 2. 将第三方库加载进工程:方法是直接将 FMDB 的源文件拖拽进工程即可: 3. 使用第三方库访问数据库 当然了,对于高手而言,对第三方库进行了解后,上手是很快的,对于小白,只能一步一步走啦. 3.1 指定数据库的存储

运用NodeJs环境并依赖第三方库,框架等实现网站前后端分离报错问题及处理方法

运用NodeJs环境并依赖第三方库,框架等实现网站前后端分离报错问题及处理方法 问题一: SyntaxError: missing ) after argument list in .....\views\user\index.html while compiling ejs. 语法错误:失去右括号)在参数列表后面,在.....\views\user\index.html(在这个路径中的index.html)中当编译ejs时. 分析:这个时候应该是模板引擎ejs出现问题,但是ejs已经是一个写好