当前位置: 首页 > news >正文

【iOS】折叠cell

目录

前言

原理

高度变化

选中单元格

实现效果


前言

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

原理

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

高度变化

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

- (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);}
}

选中单元格

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

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

实现效果

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • PG逻辑解码
  • 常见的性能测试方法!
  • 计算机毕业设计推荐-基于python的公司员工考勤管理系统
  • 全网最详细docker详解,从概念到实战一篇解决
  • 【 html+css 绚丽Loading 】000030 灵文闪烁符
  • 汽车免拆诊断案例 | 马自达CX-3无音频输出
  • 一文读懂flask
  • VSCode连接SSH发生connection timeout
  • 算法数学加油站:一元高斯分布(正态分布)Python精美科研绘图(PDF、CDF、PPF、ECDF曲线;QQ图)
  • P1004 [NOIP2000 提高组] 方格取数
  • linux 9系统分区扩容
  • pymysql cursor使用教程
  • CSS学习1
  • 百度文库文章-暂存下-------题 目: 链式简单选择排序
  • 内存管理篇-17解开页表的神秘面纱-下
  • 230. Kth Smallest Element in a BST
  • angular2开源库收集
  • emacs初体验
  • es6(二):字符串的扩展
  • idea + plantuml 画流程图
  • JavaScript 一些 DOM 的知识点
  • Logstash 参考指南(目录)
  • Rancher如何对接Ceph-RBD块存储
  • Vim 折腾记
  • Webpack 4 学习01(基础配置)
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 对象管理器(defineProperty)学习笔记
  • 工程优化暨babel升级小记
  • 经典排序算法及其 Java 实现
  • 双管齐下,VMware的容器新战略
  • 小程序开发中的那些坑
  • 一天一个设计模式之JS实现——适配器模式
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • HanLP分词命名实体提取详解
  • 函数计算新功能-----支持C#函数
  • !!Dom4j 学习笔记
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • (C语言)球球大作战
  • (二)测试工具
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (附源码)计算机毕业设计SSM疫情下的学生出入管理系统
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • ./和../以及/和~之间的区别
  • .Net Memory Profiler的使用举例
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .Net7 环境安装配置
  • .Net程序帮助文档制作
  • .net解析传过来的xml_DOM4J解析XML文件
  • @DataRedisTest测试redis从未如此丝滑
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @Validated和@Valid校验参数区别
  • @基于大模型的旅游路线推荐方案