iOS-TableView中cell的显示与隐藏

项目中,总会遇到各种鬼需求,比如cell的显示隐藏就算吧,好好的数据直接展示就得了呗,非得隐藏起来,我就纳闷了,隐藏了,还显示嘎哈啊?毕竟就是个撸代码的,咋也得搞出来。

效果图就是这样:

黑色的为每组头视图,点击展开隐藏的cell,再点击收缩隐藏。
黑色的为每组头视图,点击展开隐藏的cell,再点击收缩隐藏。

黑色的为每组头视图,点击展开隐藏的cell,再点击收缩隐藏。
各种设置,已经封装起来了,使用的时候,直接遵守各个协议就可以了。


#pragma mark - YUFoldingTableViewDelegate / required
- (PackUpTableViewSectionHeaderArrowPosition)perferedArrowPositionForYUFoldingTableView:(PackUpTableView *)yuTableView {
    return self.arrowPosition ? :PackUpTableViewSectionHeaderArrowPositionRight;
}

- (NSInteger )numberOfSectionForPackUpTableView:(PackUpTableView *)tableView{
    return 4;
}

- (NSInteger )packUpTableView:(PackUpTableView *)tableView numberOfRowsInSection:(NSInteger )section {
    return 3;
}

- (CGFloat )packUpTableView:(PackUpTableView *)tableView heightForHeaderInSection:(NSInteger )section {
    return 50;
}

- (CGFloat )packUpTableView:(PackUpTableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 50;
}

- (NSString *)packUpTableView:(PackUpTableView *)tableView titleForHeaderInSection:(NSInteger)section {
    return self.titleArray[section];
}

- (UITableViewCell *)packUpTableView:(PackUpTableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellID = @"cellID";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellID];
    }
        cell.textLabel.text = self.valueArray[indexPath.row];
        cell.textLabel.textColor = [UIColor redColor];
        cell.detailTextLabel.text = self.valueDetailArray[indexPath.row];
        cell.detailTextLabel.textColor = [UIColor redColor];
        return cell;
}

- (void )packUpTableView:(PackUpTableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
}

#pragma mark - YUFoldingTableViewDelegate / optional
- (NSString *)packUpTableView:(PackUpTableView *)tableView descriptionForHeaderInSection:(NSInteger )section {
    return self.titleDetailArray[section];
}

以上就是主要的几个协议方式,基本也就这些,写上了,请求数据,再一赋值就OK了。

链接:https://github.com/Baiyongyu/PackUpTableView.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容