RATreeView(三级联列表的使用)开源库

这个文章是我15年在新浪博客上写的,现在主要使用,所以移过来了呢。
RATreeView实现了UITableView中有的协议跟方法,这个很强大,所以用起来也不会那么陌生。
首先使用前引入头文件RATreeView.h,即成RATreeView的RATreeViewDelegate, RATreeViewDataSource等。
创建一个TreeView 显示在当前view中,注册cell的自定义xib。

[self.treeView registerNib:[UINib nibWithNibName:NSStringFromClass([RATableViewCell class]) bundle:nil] forCellReuseIdentifier:NSStringFromClass([RATableViewCell class])];
RATreeView(三级联列表的使用)开源库_第1张图片
主要实现有下面几个:
//返回每一行的高度
- (CGFloat)treeView:(RATreeView *)treeView heightForRowForItem:(id)item 

//返回是否允许编辑
- (BOOL)treeView:(RATreeView *)treeView canEditRowForItem:(id)item 

//点击一行将要展开实现的动作
- (void)treeView:(RATreeView *)treeView willExpandRowForItem:(id)item

//点击一行将要折叠起来实现的动作
- (void)treeView:(RATreeView *)treeView willCollapseRowForItem:(id)item  

//编辑状态下点击删除或编辑实现的动作
- (void)treeView:(RATreeView *)treeView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowForItem:(id)item 

//每行数据的展现
- (UITableViewCell *)treeView:(RATreeView *)treeView cellForItem:(id)item 

//返回子集合的数量
- (NSInteger)treeView:(RATreeView *)treeView numberOfChildrenOfItem:(id)item

//返回子集合中index下标的对象
- (id)treeView:(RATreeView *)treeView child:(NSInteger)index ofItem:(id)item 

//点击一行实现的动作
- (void)treeView:(RATreeView *)treeView didSelectRowForItem:(id)item  
RADataObject.h 和 RADataObject.m 数据模型
//初始化一个对象
- (id)initWithName:(NSString *)name object:(ShoppingList*)object children:(NSArray *)array; 

//实例化一个对象
+ (id)dataObjectWithName:(NSString *)name object:(ShoppingList*)object children:(NSArray *)children;  

//添加一个子对象
- (void)addChild:(id)child;  

//删除一个子对象
- (void)removeChild:(id)child;  

我的github: https://github.com/LvJianfeng/RATreeView
项目作者地址:https://github.com/Augustyniak/RATreeView

希望能帮助需要的朋友。

你可能感兴趣的:(RATreeView(三级联列表的使用)开源库)