我希望像这样构建一个连续的视差滚动。
http://www.screencast.com/t/7Z48zkkW
当集合视图滚动时,然后更改上部视图高度。 是的上部视图和集合视图是分开的。 我还有导航栏,当用户滚动时它也会上升
答案 0 :(得分:1)
您可以将collectionView与此标题的节标题一起使用。但是,通过这种方式无法实现在搜索下面反弹的效果collectionView,而是整个视图都会反弹。
最简单的iOS 9 +解决方案
1)为搜索上方的项目创建一个单元格
2)为搜索栏(章节标题)创建可重用的视图
3)为这些图片制作单元格
即。你将有两个单元格的原型和一个可重用的视图
在带有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将是您拥有的图像数量
现在,在集合视图数据源中,您有一个方法viewForSupplementaryElementOfKind,您需要实现该方法来获取sectionHeaderView。
实现referenceSizeForHeaderInSection函数,通过返回CGSize(宽度:0,高度:0)来隐藏第一部分(section == 0)的sectionHeader,并为第二部分(section == 1)返回searchBar的大小,如你所愿。
cellForItemAtIndexPath中的根据部分返回单元格。
修改强>
我认为您不需要像搜索栏一样在顶部使用粘贴标题。因此,最好将collectionView与section header一起使用。 (节标题包含您标记的红色视图)