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

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

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,301评论 4 61
  • 人有烦恼 就是因为记性太好 不该记的也抱着不放 背负太多,反而难以前进 追求,就会有失望 活着,就会有烦恼 大千世...
    秦东魁阅读 537评论 0 0
  • 基本命令 启动容器$ docker run IMAGE [COMMAND] [ARG...]run 在新容器中执行...
    萧格阅读 519评论 0 0
  • 01 前几天,吴京的夫人谢楠发了一条微博,表示不再生二胎。 有的网友认为谢楠自私,为什么不能再给孩子生一个伴儿呢?...
    颖之老师阅读 360评论 1 2