如何在集合视图中获取装饰视图的实例?

时间:2015-04-27 23:16:25

标签: ios uicollectionview

我已经使用自定义布局实现了一个UICollectionView。我知道如何为整个集合视图呈现视觉装饰,但不知道如何为每个部分呈现不同的图像。我需要通过indexPath获取装饰视图的实例。我在Apple Document上找到了这个:

使用此方法为集合视图中的装饰视图创建布局属性对象。装饰视图是一种补充视图,但不显示由集合视图的数据源管理的数据。相反,它们主要为一个部分或整个集合视图提供视觉装饰。

由您决定如何使用indexPath参数来标识给定的装饰视图。通常,您使用decorationViewKind参数来标识装饰视图的类型和indexPath信息,以区分该视图的不同实例。

谁能告诉我如何详细地做到这一点?

非常感谢!

1 个答案:

答案 0 :(得分:9)

回答我自己的问题! 感谢this article

首先,子类UICollectionViewLayoutAttributes并添加您想要的任何属性。

其次,在函数layoutAttributesForDecorationViewOfKind(elementKind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes!中,设置属性。

第三,在UICollectionReusableView类中,覆盖函数applyLayoutAttributes:以获取包含您的属性的自定义UICollectionViewLayoutAttributes实例。

完成!