启用collectionview分页时,将集合视图滚动到索引

时间:2016-03-16 04:39:13

标签: ios objective-c uicollectionview

我正在使用UICollectionView并为其启用了分页功能。 例如,UICollectionView每个页面中有21个项目包含7个项目,因此共有3个页面... 只有当索引不在当前页面时才有scrollToItemAtIndexPath的方法... 我正在使用下面的代码,它为每个索引滚动UICollectionView

[collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:index inSection:0] atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];

2 个答案:

答案 0 :(得分:0)

您可以使用collectionView.indexPathsForVisibleItems目标indexPath是否可见,然后在必要时滚动

答案 1 :(得分:0)

试试这个,希望这有帮助

首先获取索引,然后通过除以每页的总项数获取页面,然后使用页码滚动到可见的rect,例如,

- (IBAction)scroll:(id)sender
  {
    int item = 89; //item to scroll (21 will be your case) and item might be any idea of cell
    int page = item/15; //15 is the total number of visible cell per page (7 will be your case)
    CGRect frameRect = self.collectionView.frame;
    CGFloat xPos = frameRect.origin.x + (frameRect.size.width * page); //calculate the position where that cell is present
    frameRect.origin.x = xPos;
   [self.collectionView scrollRectToVisible:frameRect animated:YES];//finally scroll the collection view
 }