collectionView reloadData() 闪烁问题

当使用 UICollectionView 时,进行 reloadData() 操作,由于cell的数量较多(如下图),会出现刷新闪烁的效果,非常讨厌。

Simulator Screen Shot - iPhone 8 - 2018-04-17 at 15.32.42.png

要解决由于复用导致的闪烁问题,可以使用以下代码来包裹collectionView reloadData()操作:

CATransaction.setDisableActions(true)
collectionView.reloadData()
CATransaction.commit()

造成闪烁的原因,主要是 CALayer 存在隐式动画,只要在调用 reloadData() 刷新操作时,关闭隐式动画就可以避免了。

你可能感兴趣的:(collectionView reloadData() 闪烁问题)