如何在UITableView里动态添加 cell

论坛 期权论坛 脚本     
匿名技术用户   2020-12-22 10:35   150   0

在项目开发时常常会遇到点击cell的时候,在这个cell的下面重新出现一个新的cell,之前的cell都往下移动,再次点击原来的cell,页面又会回到原来的样子,那么这个动态创建cell的效果是如何实现的呢,经过个人实践,总结自己成功方法如下:

第一种:主要通过UITableView的指定indexpath删除和插入的两个方法

- (void)insertRowsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;

- (void)deleteRowsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;

注意: 动态创建cell的关键点在于我们在某个位置插入或者删除 一个指定cell, 需要在调用上方的方法前更新数据源里的数据,并且数据源里出现两种cell,在下面的方法里一般都需要判断cell类型,并返回相应的数据。具体的示例如下:

1.在对应的控制器里用一个可变数组作为属性,在这个数组里主要存放每个cell的类型及当前cell下面是否有子cell展现:


代码中的i<6,在开发时改为i小于请求回来的数据模型的总数的量,这样保证每个cell对应该数组一个元素,记录每个cell的类型及状态。


2.因为需要展示两种cell,在展示cell的数据源及代理方法要进行以下的判断





3.删除和插入的关键来了



关键的方法都列出来了,实现展开,和关闭的效果如下


好了,不早了,其他方法下次写了,楼主洗洗睡了

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP