我怎样才能设置整个头部以UICollectionView?(How can I set the en

2019-08-08 05:50发布

我想设置的头集合视图,就像的UITableViewController的setTableHeader一样。

我发现设置集合视图的每一节的头的方式,但我找不到如何设置整个头部的头视图。

苹果UICollectionViewLayout参考写着“补充意见目前的数据,但比细胞不同,不像细胞,补充意见,不能由用户选择,而是你使用的补充意见实施之类的页眉和页脚的观点对于一个给定的部分或整个集合视图。补充意见是可选的,并且它们的使用和位置由布局对象定义。“,但我不知道如何实现整个集合视野头视图。

我试图通过使节头视图矩形只首节以实现这一点,但它是用的tableHeader的不同。

在表视图,如果我设定内容偏移至低于标题,内容大小自动扩展,使得尽管存在一些元件的头部被隐藏。

但在集合视图,修改内容偏移只有当存在许多足以使滚动元件正常工作。

我想,当存在几个元素来动态地扩展内容的大小,但它似乎没有正常工作......

Answer 1:

我该使用自定义布局和重新定位在每个滚动事件的标题来实现。 与继承UICollectionViewLayout开始,有吨在网络上的教程,这是一个很好的一个: http://markpospesel.wordpress.com/2012/10/25/fixing-circlelayout/

然后,关键是要始终返回YESshouldInvalidateLayoutForBoundsChange:和在prepareLayout复位(即改变layoutAttributes'帧。)的基础上收集视图X偏移和Y偏移的标题。

使用带有NSIndexPath 0-0补充视图。

layoutAttributesForElementsInRect:将被称为每一帧,因此,如果您在您的收藏看法有很多的项目,你将需要缓存的结果,因此不会影响性能。 所有属性应该是除了一个头不变。

来源:我花了1个月这个特定主题的工作。



文章来源: How can I set the entire header view to UICollectionView?