【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];
}

实现效果

相关推荐
2501_915918411 小时前
Fiddler中文版全面评测:功能亮点、使用场景与中文网资源整合指南
android·ios·小程序·https·uni-app·iphone·webview
兴趣使然_2 小时前
【笔记】使用 html 创建网址快捷方式
笔记·html·js
不知名It水手3 小时前
uniapp运行项目到ios基座
ios·uni-app·cocoa
Digitally4 小时前
[5种方法] 如何将iPhone短信保存到电脑
ios·iphone
aramae4 小时前
C++ -- STL -- vector
开发语言·c++·笔记·后端·visual studio
fen_fen4 小时前
学习笔记(32):matplotlib绘制简单图表-数据分布图
笔记·学习·matplotlib
UI罐头5 小时前
后台设计指南:系统架构、交互规范与工具实战全流程解析
ui·设计·设计工具
杂雾无尘6 小时前
Swift 5.9 新特性揭秘:非复制类型的安全与高效
ios·swift·apple
饕餮争锋8 小时前
设计模式笔记_创建型_建造者模式
笔记·设计模式·建造者模式
UI前端开发工作室8 小时前
UI前端与数字孪生融合新领域拓展:智慧教育的虚拟实验室建设
ui