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

Posted

技术标签:

【中文标题】uicollectionview 单元格位置未在网格上对齐【英文标题】:uicollectionview cell position not aligned on grid 【发布时间】:2017-03-22 21:24:37 【问题描述】:

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

以前有人见过这种情况吗?有关如何确定原因的任何提示都会有所帮助。

【问题讨论】:

最佳解决方案是***.com/questions/42956954/… 【参考方案1】:

尝试实施

    - (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];

【讨论】:

【参考方案2】:

我设法找到了一个类似的错误帖子,为我解决了这种情况。

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

[self.collectionView reloadData];

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

【讨论】:

以上是关于uicollectionview 单元格位置未在网格上对齐的主要内容,如果未能解决你的问题,请参考以下文章

UICollectionView:获取屏幕位置的单元格

如何在 UICollectionView 上设置单元格的位置

UICollectionView 与屏幕上任何位置的单元格

如何调整 uicollectionview 单元格中 imageview 的位置?

更改 UICollectionView 单元格 X 位置 - 快速

在 scrollToItemAtIndexPath 之后获取 UICollectionView 单元格位置