首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UICollectionView、分页和clipsToBounds

UICollectionView、分页和clipsToBounds
EN

Stack Overflow用户
提问于 2013-02-11 17:56:17
回答 1查看 4.6K关注 0票数 3

我有一个集合视图,其内容水平滚动,需要显示设备的整个宽度。集合视图将clipsToBounds设置为NO,其框架为600 wide,pagingEnabled设置为YES

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

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

EN

回答 1

Stack Overflow用户

发布于 2013-04-17 22:24:09

下面是我找到的最简单的方法来达到这个效果。它涉及您的集合视图和额外的秘密滚动视图。

设置您的集合视图

  • 设置集合视图及其所有数据源方法。
  • 设置集合视图的框架;它应该跨越要显示的全部宽度。
  • 设置集合视图的contentInset_collectionView.contentInset = UIEdgeInsetsMake(0,(sel.view.framework.view.UIEdgeInsetsMake)/2,0,(sel.view.framework.view pageSize)/2);

这有助于适当地抵消细胞。

设置您的秘密滚动视图

  • 创建一个滚动视图,把它放在任何你喜欢的地方。如果您愿意,可以将其设置为hidden
  • 将滚动视图边界的大小设置为所需的页面大小。
  • 将自己设置为滚动视图的委托。
  • 将其contentSize设置为集合视图的预期内容大小。

移动手势识别器

  • 将秘密滚动视图的手势识别器添加到集合视图,并禁用集合视图的手势识别器: addGestureRecognizer:_secretScrollView.panGestureRecognizer;_collectionView _collectionView.panGestureRecognizer.enabled = NO;

代表

代码语言:javascript
复制
- (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/

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14817960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档