ios 自定义折叠控件 ——UITableView

来源:互联网 发布:武汉哪里有学电子网络 编辑:程序博客网 时间:2024/05/16 04:22


方式一:

1 原理

 

   打开:

            [self.stateArrayaddObjectsFromArray:@[@"ViewCell0"]];

            [self.stateArrayaddObjectsFromArray:@[@"ViewCell0"]];


            [_tableView     beginUpdates];

            [_tableView    insertRowsAtIndexPaths:@[path,path2]withRowAnimation:nil];

             [_tableView   endUpdates];


  关闭:

           [self.stateArray removeAllObjects];

            [_tableView  beginUpdates];

            [_tableView  deleteRowsAtIndexPaths:@[path,path2]withRowAnimation:nil];

            [_tableView  endUpdates];

            

  在 section Header上触发

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

    HeaderView * header = [[HeaderView alloc]initWithFrame:CGRectMake(0,0,self.view.frame.size.width,40)];

    

    HeaderButton * btn = [HeaderButton buttonWithType:UIButtonTypeDetailDisclosure];

    [btn addTarget:selfaction:@selector(btnAct:)forControlEvents:UIControlEventTouchUpInside];

    btn.frame =CGRectMake(180,20,20,20);

    btn.tag = section;

    btn.canOpen =1;

    btn.isOpen =1;

    header.backgroundColor = [UIColoryellowColor];

    

    HeaderView * header2 = [[HeaderViewalloc]initWithFrame:CGRectMake(0,0,self.view.frame.size.width,20)];

    header2.backgroundColor = [UIColorgreenColor];

    [header addSubview:header2];

    [header addSubview:btn];

    return header;

}


方式二:

    不使用 Section Header 触发

 代码Demo

方式 1:http://download.csdn.net/detail/bravegogo/9636715

方式 2:

    


0 0