UICollectionViewFlowLayout *layout = [UICollectionViewFlowLayout new];
//UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout;
if (self.countInLine == 2) {
CGFloat width = (ScWidth - 3)/2;
CGFloat height;
if (self.hasSets) {
height = width * 9 / 16 + kOneLineTextHeight;
} else {
height = width * 9 / 16 + kTwoLineTextHeight;
}
layout.itemSize = CGSizeMake(width, height);
} else {
CGFloat width = (ScWidth - 2 * 3 )/3;
CGFloat height = width * 175 / 123 + kOneLineTextHeight;
layout.itemSize = CGSizeMake(width, height);
}
layout.minimumLineSpacing = 0.0;
layout.minimumInteritemSpacing = 0.0;
[self.collectionView setCollectionViewLayout:layout animated:NO];
[self.collectionView reloadData];
只要更换。第一行。和第二行,即可解决问题
UICollectionViewFlowLayout *layout = [UICollectionViewFlowLayout new];
更换为
UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout;