当使用
UICollectionView
时,进行reloadData()
操作,由于cell
的数量较多(如下图),会出现刷新闪烁的效果,非常讨厌。
要解决由于复用导致的闪烁问题,可以使用以下代码来包裹
collectionView reloadData()
操作:
CATransaction.setDisableActions(true)
collectionView.reloadData()
CATransaction.commit()
造成闪烁的原因,主要是
CALayer
存在隐式动画,只要在调用reloadData()
刷新操作时,关闭隐式动画就可以避免了。