03 UICollectionView的一些问题

崩溃 [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);
    }

Last updated