我正在使用UICollectionView
并为其启用了分页功能。
例如,UICollectionView
每个页面中有21个项目包含7个项目,因此共有3个页面...
只有当索引不在当前页面时才有scrollToItemAtIndexPath
的方法...
我正在使用下面的代码,它为每个索引滚动UICollectionView
。
[collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:index inSection:0] atScrollPosition:UICollectionViewScrollPositionCenteredHorizontally animated:YES];
答案 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
}