iOS开发-UI控件:可折叠展开的UITableView

在之前的项目中自己写了一个可以折叠展开的UITableView. 思路如下:

1. 使用一个字典保存Table中每个Section打开&折叠的状态, 然后在下面的方法中, 字典返回1则展开cell, 反之折叠cell  

- (NSInteger)tableView:(UITableView *)table numberOfRowsInSection:(NSInteger)section{//根据表头,到总数组中,筛选出临时数组,确定数量
    [[self classArr] objectAtIndex:section];
    int rowCount = 0;
    for (int i = 0; i < [[self dataArr] count]; i ++) {
        CellModel *model = [[self dataArr] objectAtIndex:i];
        if (model == [[self classArr] objectAtIndex:section]) {
            rowCount ++;
        }
    }
    NSString *key = [NSString stringWithFormat:@"%d", (int)section];
    BOOL folded = [[[self switchDict] objectForKey:key] boolValue];
    return folded?rowCount:0;
}


2.自定义Table的HeaderView(即SectionView), 添加一个按钮, 通过代理将按钮的点击事件返会到Table中, 改变对应字典的值, 然后刷新Table, 就OK了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值