【问题标题】:UICollectionView: Customize UICollectionViewFlowLayout headers (multiple headers and header position)UICollectionView:自定义 UICollectionViewFlowLayout 标头(多个标头和标头位置)
【发布时间】:2012-09-18 23:16:15
【问题描述】:
我想将当前基于表格视图的数据网格转换为新的UICollectionView 类。
这是我当前网格的样子:
我的网格有两个标题:
- 年(2006a、2007a 等)和
- 类型(“收入”、“EBITDA”等)。
从 Apple 的文档中,我了解到我需要子类 FlowLayout 以获得两个标题 (Apple Documentation),特别是覆盖 layoutAttributesForSupplementaryViewOfKind:atIndexPath: 以支持新的补充视图(标题)。
但是,我没有找到任何有关如何执行此操作的示例或教程。由于我被困在这里,如果您能指出我正确编码的正确方向,我将不胜感激。
谢谢。
【问题讨论】:
标签:
objective-c
ios
ios6
uicollectionview
【解决方案1】:
我发布了一个示例here 以及如何支持装饰视图。补充观点类似,但有以下区别:
- 您可以在 UICollectionView 实例上调用
– registerClass:forSupplementaryViewOfKind:withReuseIdentifier:,而不是在布局上注册 NIB 或类
- 在 UICollectionView 的视图控制器中,您将实现
– collectionView:viewForSupplementaryElementOfKind:atIndexPath:,类似于普通单元格的方法
- 在布局子类中你需要实现下面的方法
– layoutAttributesForSupplementaryViewOfKind:atIndexPath:来定位补充视图的位置
- 在
– layoutAttributesForElementsInRect: 中确保添加您想要的所有补充视图(类似于我发布的示例中的装饰视图)
我现在无法访问我的示例代码,但我会稍后发布。