Skip to content

kwdx/TreeTableView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TreeTableView

多级列表

#Effect diagram image

#How To Use ##First Drag the folder named "WDTreeTableView" to project 拖入项目中 ##Import WDTreeTableView

#import "WDTreeTableView.h"

@property(nonatomic, readwrite, strong)WDTreeTableView *tableView;

WDTreeTableView *treeView = [[WDTreeTableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
treeView.dataSource = self;    
treeView.delegate = self;
[treeView registerNib:[UINib nibWithNibName:@"CountryCell" bundle:nil] forCellReuseIdentifier:@"Country"];
[treeView registerNib:[UINib nibWithNibName:@"ProvinceCell" bundle:nil] forCellReuseIdentifier:@"Province"];
[treeView registerNib:[UINib nibWithNibName:@"CityCell" bundle:nil] forCellReuseIdentifier:@"City"];
[self.view addSubview:treeView];

##Datasource Impletement

- (NSInteger)treeView:(WDTreeTableView *)treeView numberOfChildrenOfItem:(id)item
{
if (!item) {
return self.dataArr.count;
} else
{
TreeObj *obj = (TreeObj *)item;
return obj.childrenCount;
}
return 0;
}

- (id)treeView:(WDTreeTableView *)treeView child:(NSInteger)index ofItem:(id)item {
if (!item) {
return self.dataArr[index];
}
TreeObj *obj = (TreeObj *)item;
return [obj childAtIndex:index];
}

- (UITableViewCell *)treeView:(WDTreeTableView *)treeView cellForItem:(id)item {
NSString *identifier = [NSString stringWithUTF8String:object_getClassName(item)];
WDTreeCell *cell = [treeView dequeueReusableCellWithIdentifier:identifier];
[cell setDataModel:item];

return cell;
}

##Delegate Impletement

- (void)treeView:(WDTreeTableView *)treeView didOpenRowForItem:(id)item
{
NSLog(@"已经打开节点");
}

- (void)treeView:(WDTreeTableView *)treeView didCloseRowForItem:(id)item
{
NSLog(@"已经关闭关闭节点");
}

- (void)treeView:(WDTreeTableView *)treeView didSelectRowForItem:(id)item
{
NSLog(@"点击了节点");
}

- (void)treeView:(WDTreeTableView *)treeView didSelectRowOfLastItem:(id)item
{
NSLog(@"点击了叶子节点");
}

- (void)treeView:(WDTreeTableView *)treeView willOpenRowForItem:(id)item
{
NSLog(@"即将打开节点");
}

- (void)treeView:(WDTreeTableView *)treeView willCloseRowForItem:(id)item
{
NSLog(@"即将关闭节点");
}

- (BOOL)treeView:(WDTreeTableView *)treeView shouldOpenRowForItem:(id)item
{
NSLog(@"是否允许打开节点");
return YES;
}

- (BOOL)treeView:(WDTreeTableView *)treeView shouldCloseRowForItem:(id)item
{
NSLog(@"是否允许关闭节点");
return YES;
}

- (CGFloat)treeView:(WDTreeTableView *)treeView heightForRowForItem:(id)item
{
return 50;
}

####Warning: The function treeView:heightForRowForItem: need to be implement!!!! Default height is 44

##More function

You can add the other function by yourself

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors