当数据源只有1个项目时,UICollectionView不会反弹

时间:2013-08-22 21:15:17

标签: iphone ios uicollectionview uiscrollviewdelegate uicollectionviewlayout

我有一个带有自定义UICollectionViewFlowLayout的UICollectionView。它水平滚动,一次只显示一个项目(全高)。我有pagingEnabled = YES所以它坚持页面。

UICollectionView显示特定日期内的照片。我最初有按钮来改变当天+/- 1天,但我认为如果用户可以通过第一张或最后一张图像(超过预定阈值)拉动收集视图以改变那一天,那将是整洁的。我使用UIScrollView委托方法实现了它,如果集合视图中有2个或更多项,它的效果很好......

这很难描述,但是如果只有一个项目,则不允许我将项目拉过它的界限。 I.E.它没有反弹。

我想有这种行为,但我需要先解决这个问题。我想如果我删除了pagingEnabled = YES并使用了targetContentOffsetForProposedContentOffset:proposedContentOffset:withScrollingVelocity,那我可以让它工作但我真的很喜欢分页启用的快速行为。 (它们是相互排斥的)。

有关于此的任何想法吗?

2 个答案:

答案 0 :(得分:118)

UICollectionView的属性为alwaysBounceHorizontalalwaysBounceVertical。将水平设置为YES did技巧。

答案 1 :(得分:3)

感谢@VaporwareWolf,答案是对的。我想添加一个补充:

  

不要忘记同时将bounces属性设置为YES(通过故事板或代码)。