是否可以将不同大小的部分页脚添加到同一uicollectionview的不同部分

时间:2013-04-08 08:07:39

标签: uicollectionview footer

我有uicollectionview包含2个部分,我想为每个部分添加不同大小的页脚。从IB看到我每个集合只能添加一个页脚和标题。

如果我能注册2个不同的页脚,是否有可能通过代码?或者可以在每个部分的运行时间中更改页脚的大小?

1 个答案:

答案 0 :(得分:7)

是..有可能..你有两个选择

选项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);
  }
}