我有一个集合视图,单元格大小为全屏。 我试图在单元格之间添加间距,所以当我在单元格之间滚动时,它们之间会有一些空间 - 如在iOS照片库中,当您在全屏图像之间滚动时。
显然我启用了分页功能。 但由于某些原因,当我在单元格之间滚动时,间距停留在屏幕上。 即,如果单元格宽度为320,并且下一个单元格之间的间距为20px,那么当我滚动到下一个单元格时,空间将达到x = 0,新单元格将从x = 20开始。为什么? 如何获得确切的iOS照片库滚动全屏图像效果?
答案 0 :(得分:0)
将集合的宽度增加到空间值,并将集合左移到半空间值。然后将右侧和左侧部分插入更改为半空间值
或者即使单元格大小小于集合视图,您也可以创建自己的分页:
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
CGPoint contentOffset = scrollView.contentOffset;
CGSize size = scrollView.frame.size;
CGPoint locationInView = CGPointMake(contentOffset.x + size.width/2, contentOffset.y + size.height/2);
if (scrollView == _collectionView) {
NSIndexPath *indexPath = [_collectionView indexPathForItemAtPoint:locationInView];
[_collectionView selectItemAtIndexPath:indexPath animated:YES scrollPosition:UICollectionViewScrollPositionCenteredHorizontally];
[self collectionView:_collectionView didSelectItemAtIndexPath:indexPath];
}
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
if (!decelerate) {
[self scrollViewDidEndDecelerating:scrollView];
}
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];
}