www.onevcat.com/2012/08/advanced-collection-view/
UICollectionVIew:
- cell的显示:用UICollectionViewDelegate 的代理方法来设置,比如cell的数量,sections,和cell的内容
- cell的布局:自定义UICollectionVIewFlowLayout
需求1:每次滑动必须让item停在中间。
1. 获得中间item的centerX
2. 获得当前collectionView的centerX
3.利用
- (CGPoint)targetContentOffsetForProposedContentOffset:(CGPoint)proposedContentOffset withScrollingVelocity:(CGPoint)velocity
来修改collectionView最终的contentOffset
开始思考的时候,想用scrolltmitematindexpath的方法直接滚到下一个,发现不行。
需求2:每次手移动一小部分也能滑动一个item
根据手指滑动的距离来分类:
1. 如果滑动距离少于100: 则还是中间item不变。
2. 如果大于100,且中间的item还是原来的:则移动到下一个item
3. 如果大于100,且移动到后面的item为中心:则同1 保持现在的item为中心