collectionView reloadData() 闪烁问题

2018-04-17  本文已影响14人  冰霜海胆

当使用 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() 刷新操作时,关闭隐式动画就可以避免了。

上一篇 下一篇

猜你喜欢

热点阅读