我添加了一个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
方法的类似答案,但我也无法使用这些方法。
如果有人能提供任何明确的方法来做到这一点,那就很棒了,
提前致谢
吉姆
答案 0 :(得分:1)
这可能不是您理想寻找的解决方案,尽管它是您可以使用的选项,因为我已经用于您描述的设置。
将Uicollectionviewcell大小增加到屏幕宽度,紫色方块作为视图集中在单元格内。删除部分插入代码并将行间距更改为= 0。
在单元格的左侧和右侧放置箭头图像(或按钮),或滑动手势图标,以便应用程序用户知道更多。由于您只有5个单元格,因此请在IndexPath.row == 0和IndexPath.row == 4处隐藏单元格以隐藏其左侧和右侧的“更多”单元格。分别是箭头。