【问题标题】:UICollectionView sticky supplementary viewUICollectionView 粘性补充视图
【发布时间】:2017-07-24 04:25:38
【问题描述】:

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

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

一些信息:

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

我相信这不是一个奇怪的场景,有没有人成功完成过这样的事情?如果是这样,我将不胜感激。

提前谢谢你。

【问题讨论】:

    标签: ios swift uicollectionview uicollectionviewlayout


    【解决方案1】:

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

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

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-20
      • 2015-12-22
      • 2015-06-16
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多