我正在使用UICollectionView并需要一个全局页眉和页脚以及节标题。全局页眉和页脚都应该与其余内容一起滚动。基本上它们应该像UITableView的tableHeaderView和tableFooterView属性一样工作。
根据我的理解,补充意见在特定部分的上方或下方,装饰视图无功能。我的全局页眉和页脚应该具有交互元素。
在尝试了几个小时后,我真的把头发拉了出来。我找到了一些令人讨厌的方法,比如使用contentInsets进行黑客攻击并将子视图添加到collectionview中。我真正想要的是一个干净的方法来做到这一点。
我期待着任何建议!
答案 0 :(得分:5)
您必须创建自己的自定义集合视图布局和数据源。数据源将返回全局标题和全局页脚以及节页眉和页脚,并且您的自定义集合视图布局必须相应地定位它们。
这不是一个非常简单的过程。
在WWDC讲话高级用户界面和集合视图中,他们用如何创建全局标题的示例代码描述了他们的方法。您可以使用他们的示例代码,然后添加一个全局页脚部分。
来自Apple:
答案 1 :(得分:4)
全局页眉和页脚都是第一个和最后一个部分的单元格(UICollectionViewCell)
答案 2 :(得分:-2)
将其修复在cellForItemAtIndexPath委托方法
中- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0)
{
// first section
}
else if (indexPath.section == [dataSourceSectionsArray.count]-1)
{
// last section
}
else
{
// normal section
}
}
当然,您应该在numberOfRowsInSection方法中返回[dataSourceSectionsArray.count] +2(一个页眉,一个页脚),并记住在访问数据时始终引用[dataSourceSectionsArray objectAtIndex:indexPath.row-1]在正常单元格中,因为没有对应于数组中标题的对象。