美文网首页
我的开源-自定义树形结构-YPTreeView

我的开源-自定义树形结构-YPTreeView

作者: 踩了个铺 | 来源:发表于2016-07-06 15:04 被阅读213次

    树形结构视图,数据源无顺序要求,自动构建树结构。

    支持多选单选,支持改各种颜色。


    使用示例:

    - (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor=[UIColor lightGrayColor];

    // Do any additional setup after loading the view, typically from a nib.

    self.treeView=[[YPTreeView alloc]initWithFrame:CGRectMake(0, 40,self.view.frame.size.width, self.view.frame.size.height-80)];

    //支持多选

    self.treeView.isCanMultipleChoice=YES;

    self.treeView.delegate=self;

    self.treeView.lineColor=[UIColor blackColor];

    self.treeView.textColor=[UIColor blackColor];

    self.treeView.backgroundColor=[UIColor colorWithRed:242/255.0 green:249/255.0 blue:255/255.0 alpha:1];

    [self.view addSubview:self.treeView];

    //可以异步 接口返回数据后赋值

    self.treeView.dataArray=[self getDataArray];

    }

    其使用的数据源需要为NSArray<YPTreeNode>

    数据例子:

    -(NSArray *)getDataArray{

    NSMutableArray * threeDataSoure=[NSMutableArray array];

    YPTreeNode *treedata=[[YPTreeNode alloc]init];

    treedata.name=@"根节点";

    treedata.treeId=@"1";

    treedata.parentId=@"0";

    treedata.value=@"root";

    treedata.isOpen=YES;

    [threeDataSoure addObject:treedata];

    YPTreeNode *treedata2=[[YPTreeNode alloc]init];

    treedata2.name=@"第一章";

    treedata2.treeId=@"3";

    treedata2.parentId=@"1";

    treedata2.value=@"first";

    treedata2.isOpen=YES;

    [threeDataSoure addObject:treedata2];

    YPTreeNode *treedata3=[[YPTreeNode alloc]init];

    treedata3.name=@"第二章";

    treedata3.treeId=@"2";

    treedata3.parentId=@"1";

    treedata3.value=@"second";

    treedata3.isOpen=YES;

    [threeDataSoure addObject:treedata3];

    YPTreeNode *treedata4=[[YPTreeNode alloc]init];

    treedata4.name=@"第一节 iOS简介";

    treedata4.treeId=@"5";

    treedata4.parentId=@"3";

    treedata4.value=@"second";

    treedata4.isOpen=YES;

    [threeDataSoure addObject:treedata4];

    YPTreeNode *treedata5=[[YPTreeNode alloc]init];

    treedata5.name=@"第一节 TableView的使用";

    treedata5.treeId=@"4";

    treedata5.parentId=@"2";

    treedata5.value=@"TableView";

    treedata5.isOpen=YES;

    [threeDataSoure addObject:treedata5];

    return threeDataSoure;

    }


    demo下载

    git地址:   YPTreeView-master


    集成

    pod 'YPTreeView'


    效果如下图:

    相关文章

      网友评论

          本文标题:我的开源-自定义树形结构-YPTreeView

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