[英]UICollectionView with spacing between cells has scrolling issues
我有一个集合视图,所有屏幕的大小都与单元格相同。 我正在尝试在单元格之间增加间距,因此,每当在单元格之间滚动时,之间就会有一些间隔-如在iOS图片库中,当您在全屏图像之间滚动时。
显然我已启用分页。 但是由于某些原因,当我在单元格之间滚动时,间距仍停留在屏幕上。 即,如果单元格宽度为320,并且下一个单元格之间的空间为20px,那么当我滚动到下一个单元格时,该空间将达到x = 0,并且新单元格将从x = 20开始。
这是为什么? 我如何获得确切的iOS照片画廊滚动全屏图像效果?
将集合的宽度增加到空格值,并将集合左移到一半空格值。 然后将左右部分的插图更改为半个空格值
或者您也可以进行自己的分页,即使单元格大小小于集合视图,分页也可以使用:
- (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];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.