阅读 29

clipsTobounds使用和删除cell

clipsTobounds使用场景

使用场景总结:

不希望显示超过视图范围内的所有子视图

比较典型的例子:

  • 裁剪圆角,配合cornerRadius

删除table view cell方式

1、remove数据源,然后reloadData一下

注意:全量刷新

2、直接设置对应cell的数据源的高度为0,然后刷新

reloadData或者beginUpdatesendUpdates

3、差量刷新cell,隐藏对应cell

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

注意:如果我们列表里边只有一个特定的cell,并且不希望生成新的cell时,需要慎用次方法刷新。

4、删除cell

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

注意:如果有删有插入行

1、必须放在beginUpdatesendUpdates之间

2、table view 总是先删后插入行,所以我们在对数据源的数组操作的时候,应该是先删后插入

PS:一般当tableview需要同时执行多个动画时,才会用到beginUpdates函数,它的本质就是建立了CATransaction这个事务。

文章分类
iOS
文章标签