iOS UICollectionView中使用reloadItemsAtIndexPaths进行局部cell更新

释放双眼,带上耳机,听听看~!

 

UICollectionView与UITableView类似,都可以使用reloadData来进行cell内容的更新。然而如果想要进行局部cell更新呢?

UICollectionView

可以采用reloadItemsAtIndexPaths方法。

[self.collectionView reloadItemsAtIndexPaths:@[indexPath]];

传入参数就是要刷新的cell所在的indexPath组成的数组。
但,reloadItemsAtIndexPath默认会有一个动画的过程,cell内容更新的瞬间会出现原内容与新内容重叠的情况。那么使用如下方式取消该动画即可:

[UIView performWithoutAnimation:^{
[self.collectionView reloadItemsAtIndexPaths:@[indexPath]];
}];

UITableView

UITableView的reloadSections方法也有同样的情况:

[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationNone];

而使用reloadData进行全部cell的更新,则没有这个默认的动画过程。

人已赞赏
iOS文章

iOS使用Mixpanel来统计和分析移动APP的用户数据

2020-3-31 12:19:07

iOS文章

iOS 使用NSURL的urlWithString时,尽量先对字符串进行UTF8转码

2020-3-31 13:33:30

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索