131 字
1 分钟
UICollectionView的一些问题
2020-10-13
2026-10-12
无标签

崩溃 [UICollectionViewData validateLayoutInRect:]#

在部分系统上数据源有变更(例如清空了reloadData)的情况下会发生如上crash

参考链接: https://stackoverflow.com/questions/18339030/uicollectionview-assertion-error-on-stale-data

解决办法:

[self.cvCollection reloadData];
[self.cvCollection.collectionViewLayout invalidateLayout];
//部分系统上 reload [UICollectionViewData validateLayoutInRect:] crash

iOS 8 上设置 sectionInset left 无效#

只有在使用了适应尺寸时left才会失效

自适应尺寸

self.flLayout.estimatedItemSize = CGSizeMake(50, 50);

这是系统的bug,后面系统版本没发现这种问题

解决方法:

if (isIOS8) {
self.cvCollection.contentInset = UIEdgeInsetsMake(0, 15, 0, 15);
} else {
self.flLayout.sectionInset = UIEdgeInsetsMake(0, 15, 0, 15);
}