- 正确监听UICollectionView的reloadData完
- UITableView,UICollectionView判断re
- UICollectionView系统BUG记录 -— reloa
- UICollectionView中的Delete,insert,
- UITableView/UICollectionView调用re
- collectionView reloadData() 闪烁问题
- UICollectionView在reloadData时的一个坑
- reloadData 结束回调
- UICollectionView, reloadData 奔溃总
- `UICollectionView` 在 iOS12 的BUG,
由于UICollectionView
刷新数据一定是在主线程中完成的,也就是在主线程Runloop的某个周期内完成的,而主线程只有一个串行事件队列(DispatchQueue.main),因此可以想到将后续的任务添加到main queue中,从而串行的执行reloadData
-> ... -> 某个任务。至此就可以达到监听reloadData的完成状态。形式可以如下几种方法:
1、方法一
collectionView.reloadData()
DispatchQueue.main.async {
// TODO: 某个任务
}
2、方法二
collectionView.reloadData()
collectionView.performBatchUpdates(nil) { (_) in
// TODO: 某个任务
}
ps: UITableView
的处理方式类似,不过方法二的处理只能iOS 11.0后才能使用。
网友评论