【iOS】折叠cell

目录

前言

原理

高度变化

选中单元格

实现效果


前言

暑假的3Gshare中使用了折叠cell,这篇博客来总结一下折叠cell的使用

原理

折叠cell的原理其实非常简单,就是动态地调整数据视图的高度,使数据视图可以展现的cell发生变化。并在点击选中某个单元格时,更改数据视图数据源,使得数据视图呈现出不同的单元格。

高度变化

下面给出代码来展示一下如何通过为按钮添加事件来控制数据视图高度的变化

objectivec 复制代码
- (void)tapfoldButton:(UIButton*)button  {
    if (!button.tag) {
        button.tag = 1;
        self.tableView.frame = CGRectMake(250, 210, 110, 120);
    } else {
        button.tag = 0;
        self.tableView.frame = CGRectMake(250, 210, 110, 30);
    }
}

选中单元格

当选中某个单元格时,添加事件改变数据视图数据源,将数据源数组最后一个元素删除,再将选中元素添加到数据源数组首,这样就可以实现更改数据视图呈现的单元格。

objectivec 复制代码
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    NSString* str = self.array[indexPath.row];
    [self.array removeObjectAtIndex:indexPath.row];
    [self.array insertObject:str atIndex:0];
    [self.tableView reloadData];
}

实现效果

相关推荐
再玩一会儿看代码1 分钟前
Java抽象类和接口区别_场景理解
java·开发语言·经验分享·笔记·python
梦里捡到一只猫丶3 分钟前
简单的Payload加密方法
笔记·网络安全
坏柠24 分钟前
从一个设备控制面板开始,系统学习 LVGL 界面开发
android·javascript·学习
创业之路&下一个五年24 分钟前
委托、事件、发布-订阅模式全梳理(完整总结)
学习·总结
MartinYeung531 分钟前
[论文学习] 全同态加密下的加密文字比较与子字串搜寻演算法延伸研究
学习·区块链·同态加密
Front思34 分钟前
如何学习Shopify前端开发?
前端·学习
ZC跨境爬虫38 分钟前
跟着 MDN 学CSS day_50:(传统布局方法与网格系统)
前端·css·ui·tensorflow·媒体
再玩一会儿看代码44 分钟前
Java浅拷贝和深拷贝理解笔记
java·linux·开发语言·笔记·python·学习
我命由我123451 小时前
Excel - Excel 查看当前单元格格式
运维·学习·职场和发展·excel·求职招聘·职场发展·学习方法
love530love1 小时前
【笔记】ComfyUI 源码部署版更新后一键修复:从手动补丁到自动化工作流
运维·人工智能·windows·笔记·python·自动化·comfyui