UICollectionView,分页和clipsToBounds
问题描述:
我有一个集合视图,其内容水平滚动,并且需要在设备的整个宽度内可见。收集视图有clipsToBounds
设置为NO
,它的框架是600
宽,pagingEnabled
设置为YES
。UICollectionView,分页和clipsToBounds
我在寻找的效果是,内容似乎会在另一个视图下滑动,但是当单元格在集合视图的框架外滚动时,它将被删除,以便它可以重复使用。
任何人都知道我可能如何得到这个工作,或达到类似的效果?
答
下面是我发现得到这种效果的最简单的方法。它涉及你的收藏视图和一个额外的秘密滚动视图。
设置您收集意见
- 设置您的收藏视图及其所有数据源的方法。
- 构图集合视图;它应该跨越你想要看到的全部宽度。
-
将集合视图的
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;
}
随着scrollview的移动,获取其偏移量并将其设置为集合视图的偏移量。
我的博客上讲述这个在这里,所以检查此链接更新:http://khanlou.com/2013/04/paging-a-overflowing-collection-view/
u能PLZ提供更多的细节。即g代码片段任何或线框或您迄今为止尝试高压。 – Swapnil 2013-02-12 12:26:11
http://*.com/a/16070570 – 2013-04-18 14:42:28
我尝试了这样的事情,但我认为我没能禁用本机识别器,感谢您的链接。 – tapi 2013-04-18 14:54:14