您的位置:首页 > 产品设计 > UI/UE

如何在UITableView里动态添加 cell

2016-04-27 22:24 597 查看
在项目开发时常常会遇到点击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.删除和插入的关键来了





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





好了,不早了,其他方法下次写了,楼主洗洗睡了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: