我正在尝试在集合视图部分项的水平滚动。 集合视图中可能有多个部分。
答案 0 :(得分:1)
你尝试过这种方法吗?
-(void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated
或者,除了滚动到项目,您还可以scrollRectToVisible:sectionRect。此示例在考虑标题视图的情况下滚动到给定部分中的第一个项目。
- (void)scrollToSection:(NSUInteger)section
{
if ([self.collectionView numberOfItemsInSection:section] > 0) {
UICollectionViewLayoutAttributes *attributes = [self.collectionView layoutAttributesForItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:section]];
CGRect sectionRect = CGRectMake(0, attributes.frame.origin.y - 65, self.collectionView.frame.size.width, self.collectionView.frame.size.height); // 65 is height of the header view
[self.collectionView scrollRectToVisible:sectionRect animated:YES];
} else {
NSLog(@"no cell to scroll to");
}
}