gpt4 book ai didi

ios - 如何构建连续视差滚动/ Collection View ?

转载 作者:行者123 更新时间:2023-11-29 00:42:41 27 4
gpt4 key购买 nike

我正在寻找像这样构建一个连续的视差滚动。

http://www.screencast.com/t/7Z48zkkW

但是我的需求是view然后是CollectionView这样的
enter image description here

当 Collection View 滚动然后改变上 View 高度。是的,上层 View 和 Collection View 是分开的。我还有导航栏,当用户滚动时它也会上升

最佳答案

您可以使用带节标题的 collectionView 来实现此效果。但是这种方式无法实现collectionView在search下方弹跳的效果,而是整个view都会弹跳。

适用于 iOS 9 + 的最简单解决方案

1) 为搜索上方的项目创建一个单元格

2) 为搜索栏制作可重用 View (部分标题)

3) 为这些图片制作单元格

即你将有两个单元格的原型(prototype)和一个可重用 View

在带有 collectionView 的 viewController 的 viewDidLoad 中使用以下代码,以便部分的标题始终固定在顶部:

let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout // casting is required because UICollectionViewLayout doesn't offer header pin. Its feature of UICollectionViewFlowLayout
layout?.sectionHeadersPinToVisibleBounds = true

节数:保留2

部分的行数 == 0 将为 1,这将是搜索上方的项目

部分的行数 == 2 将是您拥有的图像数

现在,在 Collection View 数据源中,您有一个方法 viewForSupplementaryElementOfKind,您需要实现该方法以获取 sectionHeaderView。

实现 referenceSizeForHeaderInSection 函数,通过返回 CGSize(width: 0, height: 0) 隐藏第一部分(section == 0)的 sectionHeader,并根据需要为第二部分(section == 1)返回 searchBar 的大小。

在 cellForItemAtIndexPath 中根据部分返回单元格。

编辑

我认为您不需要像搜索栏那样在顶部设置粘性标题。所以最好将 collectionView 与节标题一起使用。 (部分标题包含您标记的红色 View )

关于ios - 如何构建连续视差滚动/ Collection View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39078353/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com