UICollectionView粘性补充视图

时间:2017-03-03 22:17:02

标签: ios swift uicollectionview uicollectionviewlayout

假设我正在聊天,我希望用户图像随着滚动一起移动,直到出现其他用户的消息。一些视觉示例:

enter image description here

我正在使用UICollectionViewFlowLayout的子类来显示消息并为消息提供初始左侧偏移量(sectionInset属性由于某种原因在iOS 9上不起作用)并且我假设处理做上面显示的自定义补充视图不应该那么难,但显然它是:)

一些信息:

  • 我没有为flowLayout使用标准页眉/页脚,因为它在我不想要的部分之间添加空格
  • 从性能角度发现这个link非常有趣但是这个例子在某种程度上是不完整的(虽然很棒)
  • 我试图避免shouldInvalidateLayoutForBoundsChange:返回true并每次重新创建属性,因为聊天单元格在大小计算方面可能很复杂。

我相信这不是一个奇怪的场景,有没有人能成功完成这样的事情?如果是这样,我会很感激一些指示。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以为每个单元格组使用部分。使用部分时,他们必须是清晰的背景并进行自定义。因此,消息单元格可以在部分下方滚动,部分上的圆形图像将位于其单元格的顶部。

作为第二种方式,您可以使用除所有收集项目之外的圆形图像。为此,您必须创建所需数量的圆形图像。在向上/向下滚动时,必须移动它们,因为它们将锚定在消息单元组的顶部。

我希望它对你有所帮助:)。