1

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

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

4

1 回答 1

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);
  }
} 
于 2013-04-08T11:52:35.303 回答