解决 CollectionView 上拉加载更多 刷新闪屏

collectionView 在加载更多时,网络数据返回后,直接添加到模型数组里面,然后调用 collectionView.reloadData,这样每次刷新,屏幕都会闪一下,多么刺眼。

没有上图的原因是,录屏生成的 Gif 图片没法看清闪屏现象。

解决办法

  • collectionView?.insertItemsAtIndexPaths:_ 来代替 collectionView.reloadData

  • 示例代码:

// 模型数组
var posts = Post {
didSet {
let addCount = posts.count - oldValue.count
// 这里可以判断 addCount 是否大于 0,等于 0 直接 return
var indexPathArray = NSIndexPath
for count in 0..<addCount {
let indexPath = NSIndexPath(forItem: oldValue.count + count, inSection: 0)
indexPathArray.append(indexPath)
}
collectionView?.insertItemsAtIndexPaths(indexPathArray)
}
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容