我已经使用自定义布局实现了一个UICollectionView。我知道如何为整个集合视图呈现视觉装饰,但不知道如何为每个部分呈现不同的图像。我需要通过indexPath获取装饰视图的实例。我在Apple Document上找到了这个:
使用此方法为集合视图中的装饰视图创建布局属性对象。装饰视图是一种补充视图,但不显示由集合视图的数据源管理的数据。相反,它们主要为一个部分或整个集合视图提供视觉装饰。
由您决定如何使用indexPath参数来标识给定的装饰视图。通常,您使用decorationViewKind参数来标识装饰视图的类型和indexPath信息,以区分该视图的不同实例。
谁能告诉我如何详细地做到这一点?
非常感谢!
答案 0 :(得分:9)
回答我自己的问题! 感谢this article!
首先,子类UICollectionViewLayoutAttributes
并添加您想要的任何属性。
其次,在函数layoutAttributesForDecorationViewOfKind(elementKind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes!
中,设置属性。
第三,在UICollectionReusableView
类中,覆盖函数applyLayoutAttributes:
以获取包含您的属性的自定义UICollectionViewLayoutAttributes
实例。
完成!