我有一个uicollectionview
包含 2 个部分的部分,我想为每个部分添加不同大小的页脚。从 IB 中我看到每个集合只能添加一个页脚和页眉。
如果我要注册2个不同的页脚,是否可以通过代码?或者也许在每个部分的运行时更改页脚的大小?
我有一个uicollectionview
包含 2 个部分的部分,我想为每个部分添加不同大小的页脚。从 IB 中我看到每个集合只能添加一个页脚和页眉。
如果我要注册2个不同的页脚,是否可以通过代码?或者也许在每个部分的运行时更改页脚的大小?
是的..有可能..你有两个选择
选项 1:注册不同的页脚视图
使用不同的重用标识符通过代码注册页脚视图
registerClass:forSupplementaryViewOfKind:withReuseIdentifier:
然后
- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier = nil;
if ([kind isEqualToString:UICollectionElementKindSectionFooter]) {
if (indexPath.section == 0) {
identifier = @"footerViewOne";
}
else{
identifier = @"footerViewTwo";
}
}
UICollectionReusableView *supplementaryView = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:identifier forIndexPath:indexPath];
return supplementaryView;
}
选项 2:只需更改页脚视图的大小
为此使用UICollectionViewDelegateFlowLayout方法
- (CGSize)collectionView:(PSUICollectionView *)collectionView layout:(PSUICollectionViewLayout*)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section
{
if (section==0) {
return CGSizeMake(500, 50);
}
else
{
return CGSizeMake(200, 50);
}
}