uicollectionview单元格位置未在网格上对齐

时间:2017-03-22 21:24:37

标签: ios objective-c uicollectionview

我正在使用一个uicollectionview来填充网格(4x5单元格)。现在,有时候,但并非总是如此,我得到的2个单元格与网格不对齐,但它们是单元格大小的1/4向左或向右。它始终显示,但不是每次填充网格时。

之前有没有人见过这种情况?有关如何识别原因的任何提示都会有所帮助。

cell moved outside the grid

2 个答案:

答案 0 :(得分:0)

尝试实施

    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {

    CGFloat cellSize =  [UIScreen mainScreen].bounds.size.width/4;

    return CGSizeMake(cellSize, cellSize);
}

并设置您的集合视图布局:

 -(void)setCollectionViewLayout {

    UICollectionViewFlowLayout *flow = [[UICollectionViewFlowLayout alloc] init];
    flow.minimumInteritemSpacing = 2;
    flow.minimumLineSpacing = 2;

    [yourCollectionView setCollectionViewLayout:flow];
}

答案 1 :(得分:0)

我找到了一个类似的错误帖子,为我解决了这个问题。

[self.collectionView reloadItemsAtIndexPaths:[self.collectionView indexPathsForVisibleItems]];
then:

[self.collectionView reloadData];

https://stackoverflow.com/a/19100840/7753681