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

标签 ios uicollectionview uicollectionviewlayout uicollectionreusableview

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

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


 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)
                       );

关于IOS - 粘性 UICollectionView header (如 Apple App Store),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30719442/

相关文章:

ios - UICollectionView 具有两列的行和一列的另一行

ios - Swift:更新 CollectionView 单元格图像

swift - 如何配置UICollectionView的maxCellSpacing?

objective-c - UICollectionView performBatchUpdates : animates all sections

ios - xcode7 用户界面测试 : how does xcode determines that method is Test

ios - 找不到 Cocoapods <RestKit/RestKit.h>

ios - dispatch_async什么时候真正调度?

iOS:UIImageView随着UITableView.rowHeight的变化而变化,如何避免?

ios - 将 UICollectionView 滚动到节标题 View

objective-c - 动画 UICollectionView 单元格大小更改和重新定位周围单元格