UICollectionViewCell Snap to Center

时间:2014-04-21 18:13:39

标签: ios uicollectionview

我添加了一个UICollectionView,它将有5个单元格,水平滚动。我希望用户能够在单元格之间滚动,每个单元格将捕捉到中心。这是我的UICollectionFlowLayout代码,与单元格大小等一起使用。

-(UICollectionViewFlowLayout*)collectionLayout{

if (!_collectionLayout) {
    _collectionLayout = [[UICollectionViewFlowLayout alloc]init];
    _collectionLayout.minimumInteritemSpacing = 0;
    _collectionLayout.minimumLineSpacing = 30;
    _collectionLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    _collectionLayout.itemSize = CGSizeMake(200, 165);
    _collectionLayout.sectionInset = UIEdgeInsetsMake(0, 65, 0, 55);
    _collectionLayout.collectionView.pagingEnabled = YES;
    }
return _collectionLayout;
}

我添加了插入内容,因此第一个和最后一个单元格在中间停止,但中间的三个单元格中的任何一个都没有。请参阅随附的屏幕截图来说明 - [下面的2个屏幕截图]

如果它们是屏幕的宽度,我可以很容易地实现单元格的集中分页,或者我只做5个部分,但是如果我这样做,那么用户就不会看到左边或右边的其他单元格,我需要这样做如果你知道我的意思,他们知道还有更多要滚动的内容。

我已经阅读了关于禁用分页和使用scrollViewWillEndDragging方法的类似答案,但我也无法使用这些方法。

如果有人能提供任何明确的方法来做到这一点,那就很棒了,

提前致谢

吉姆

First Cell which is fine

Second cell - not centred

1 个答案:

答案 0 :(得分:1)

这可能不是您理想寻找的解决方案,尽管它是您可以使用的选项,因为我已经用于您描述的设置。

将Uicollectionviewcell大小增加到屏幕宽度,紫色方块作为视图集中在单元格内。删除部分插入代码并将行间距更改为= 0。

在单元格的左侧和右侧放置箭头图像(或按钮),或滑动手势图标,以便应用程序用户知道更多。由于您只有5个单元格,因此请在IndexPath.row == 0和IndexPath.row == 4处隐藏单元格以隐藏其左侧和右侧的“更多”单元格。分别是箭头。