IOS - 粘性 UICollectionView Header(如 Apple App Store)

IOS - Sticky UICollectionView Header (like Apple App Store)

我正在尝试创建一个类似于 App Store 中的 header。当用户向下拖动时,header 保持原位,只有单元格向下滚动。但是当用户向上拖动时,header 和单元格都会向上滚动。

到目前为止,我所做的是将我的 collectionView 背景视图设置为我想贴在顶部的图像,并在图像下方设置 collectionViewcontentInsets。这样当用户向下拖动时,图像将留在原地。但是当用户向上拖动时,我的单元格会越过图像(我希望图像与单元格一起向上滚动)。我想我做错了。谢谢。


 UIView *back = [UIView new];
 UIImageView *backImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 320)];
 backImage.image = [UIImage imageWithData:coverData];
 [back addSubview:backImage];
 self.collectionView.backgroundView = back;

 [self.collectionView setContentInset:UIEdgeInsetsMake(300, 0, 0, 0)];

编辑 我使用了 the tutorial from this question 但这与我想要的相反,我不确定如何更改该代码以满足我的需要

好的,我知道了。如果您使用的是从链接问题发布的教程 -

改变

 origin.y = MIN(
                MAX(
                    contentOffset.y,
                    (CGRectGetMinY(firstCellAttrs.frame) - headerHeight)
                ),
                (CGRectGetMaxY(lastCellAttrs.frame) - headerHeight)
            );

致此

origin.y = MIN(
                       contentOffset.y,
                       (CGRectGetMinY(firstCellAttrs.frame) - headerHeight)
                       );