UICollectionView、分页和 clipsToBounds [重复]

Posted

技术标签:

【中文标题】UICollectionView、分页和 clipsToBounds [重复]【英文标题】:UICollectionView, paging, and clipsToBounds [duplicate] 【发布时间】:2013-02-11 17:56:17 【问题描述】:

我有一个集合视图,它的内容水平滚动并且需要在设备的整个宽度上可见。集合视图将clipsToBounds 设置为NO,其框架为600 宽,pagingEnabled 设置为YES

我正在寻找的效果是内容似乎会在另一个视图下滑动,但是当单元格滚动到集合视图的框架之外时,它会被删除以便可以重复使用。

有人知道我怎样才能让它工作,或达到类似的效果吗?

【问题讨论】:

您能否提供更多详细信息。例如,代码 sn-p any 或线框,或者你到目前为止尝试过。 ***.com/a/16070570 我尝试了类似的方法,但我认为我未能禁用本机识别器,感谢您提供链接。 【参考方案1】:

以下是我找到的获得此效果的最简单方法。它涉及您的收藏视图和一个额外的秘密滚动视图。

设置您的收藏视图

设置您的集合视图及其所有数据源方法。 框出集合视图;它应该跨越您希望可见的整个宽度。

设置集合视图的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/

【讨论】:

以上是关于UICollectionView、分页和 clipsToBounds [重复]的主要内容,如果未能解决你的问题,请参考以下文章

具有水平分页和垂直滚动的 UICollectionView

ExtJs - 基于远程数据的分页和缓冲网格,没有远程分页和过滤

分页和中间件

基于 mybatis 的分页和过滤查询

分页和排序

小峰mybatismybatis分页和缓存