解决 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.. let indexPath = NSIndexPath(forItem: oldValue.count + count, inSection: 0)
indexPathArray.append(indexPath)
}
collectionView?.insertItemsAtIndexPaths(indexPathArray)
}
}

你可能感兴趣的:(解决 CollectionView 上拉加载更多 刷新闪屏)