我有一个集合视图,其内容水平滚动,需要在设备的整个宽度上可见。集合视图已clipsToBounds
设置为NO
,它的框架很600
宽,pagingEnabled
设置为YES
。
我正在寻找的效果是内容似乎会在另一个视图下滑动,但是当单元格滚动到集合视图的框架之外时,它会被删除以便可以重复使用。
任何人都知道我怎样才能让它发挥作用,或达到类似的效果?
我有一个集合视图,其内容水平滚动,需要在设备的整个宽度上可见。集合视图已clipsToBounds
设置为NO
,它的框架很600
宽,pagingEnabled
设置为YES
。
我正在寻找的效果是内容似乎会在另一个视图下滑动,但是当单元格滚动到集合视图的框架之外时,它会被删除以便可以重复使用。
任何人都知道我怎样才能让它发挥作用,或达到类似的效果?
下面是我发现获得这种效果的最简单方法。它涉及您的收藏视图和一个额外的秘密滚动视图。
设置您的收藏视图
设置集合视图的contentInset
:
_collectionView.contentInset = UIEdgeInsetsMake(0, (self.view.frame.size.width-pageSize)/2, 0, (self.view.frame.size.width-pageSize)/2);
这有助于正确偏移单元格。
设置你的秘密滚动视图
hidden
如果您愿意,可以将其设置为。contentSize
为集合视图的预期内容大小。移动手势识别器
将秘密滚动视图的手势识别器添加到集合视图中,并禁用集合视图的手势识别器:
[_collectionView addGestureRecognizer:_secretScrollView.panGestureRecognizer];
_collectionView.panGestureRecognizer.enabled = NO;
代表
- (void) scrollViewDidScroll:(UIScrollView *)scrollView {
CGPoint contentOffset = scrollView.contentOffset;
contentOffset.x = contentOffset.x - _collectionView.contentInset.left;
_collectionView.contentOffset = contentOffset;
}
随着滚动视图的移动,获取它的偏移量并将其设置为集合视图的偏移量。
我在这里写了关于这个的博客,所以请查看此链接以获取更新: http: //khanlou.com/2013/04/paging-a-overflowing-collection-view/