- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
NSIndexPath *path = [self.collectionView indexPathForItemAtPoint:CGPointMake(self.collectionView.contentOffset.x, self.collectionView.contentOffset.y)];
NSLog(@"sectionNumber===%ld",path.section);
// 菜单button滚动到相应的位置
[self.menuButtonView scrollToButtonWithButtonNumber:path.section];
}
控制台一直显示“sectionNumber === 0”但实际上它应该是1到10.我不知道我在哪里犯错,更重要的是,我设置了collectionView的委托。 它浪费了我3个小时,我真的需要一些帮助。
答案 0 :(得分:2)
经过半天的艰苦尝试,我终于解决了这个问题。解决这个问题的关键是CollectionView的两个委托功能:
- (void)collectionView:(UICollectionView *)collectionView willDisplaySupplementaryView:(UICollectionReusableView *)view forElementKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath
和
- (void)collectionView:(UICollectionView *)collectionView didEndDisplayingSupplementaryView:(nonnull UICollectionReusableView *)view forElementOfKind:(nonnull NSString *)elementKind atIndexPath:(nonnull NSIndexPath *)indexPath
使用这两个委托功能,您可以正确获取当前部分。
答案 1 :(得分:1)
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
NSArray *indexPaths = [self.mainImageCollection indexPathsForVisibleItems];
NSIndexPath *middleIndexPath = [indexPaths objectAtIndex:([indexPaths count]/2)];//you must check if indexPaths >=2 or <2
NSLog(@"indexPath : %d at Section :%d",middleIndexPath.item,middleIndexPath.section);
}
我希望这有帮助!
答案 2 :(得分:0)
希望这能帮到你
<referenceContainer name="footer-container">
<container name="footerContainer" htmlTag="div" htmlId="cart-container-id" htmlClass="cart-container" before="-">
</container>
</referenceContainer>