使用集合视图启用分页

时间:2016-04-21 18:32:06

标签: objective-c uicollectionview

我有一个集合视图,一次水平滚动1个单元格。

如何在启用分页时设置它,当单元格处于静止状态时,您仍会看到下一个单元格的一点点,但左侧也有填充?

1 个答案:

答案 0 :(得分:1)

这对我有用

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{

    float pageWidth = self.myCollectionView.frame.size.width+8; // width +padding
    float currentOffset = scrollView.contentOffset.x;
    float targetOffset = targetContentOffset->x;
    float newTargetOffset = 0;


      if (targetOffset > currentOffset)
        newTargetOffset = ceilf(currentOffset / pageWidth) * pageWidth;
    else
        newTargetOffset = floorf(currentOffset / pageWidth) * pageWidth;

    if (newTargetOffset < 0)
        newTargetOffset = 0;
    else if (newTargetOffset > scrollView.contentSize.width)
        newTargetOffset = scrollView.contentSize.width;
    targetContentOffset->x = currentOffset;
   [scrollView setContentOffset:CGPointMake(newTargetOffset, 0) animated:YES];
}

您也可以使用uipageviewcontroller来获得更好的效果 http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/