Pergunta

Eu tenho um CollectionView usando a classe FlowLayout padrão com rolagem horizontal e um cabeçalho e rodapé em cada seção.

Agora há zero pixels entre as visualizações do rodapé e do cabeçalho (ou seja, entre as seções).Gostaria de adicionar um pouco de espaçamento entre eles, mas não acima da primeira seção ou depois da última.Portanto, não posso simplesmente adicionar esse espaço nas próprias visualizações de cabeçalho e rodapé.

Eu esperava algo como "interSectionSpacing", mas aparentemente não existe tal configuração.Alguma ideia?

Foi útil?

Solução

Acontece que não há configuração para isso.Isto é o que acabei com:

Defino o conteúdo da minha visualização do cabeçalho para ser alinhado à parte inferior da visualização do cabeçalho, de modo que pareça ter a mesma altura visível, mesmo se eu tornar a visualização do cabeçalho mais alta que seu conteúdo (o layout automático torna isso muito fácil).

Em seguida, defino a altura do cabeçalho dependendo do índice da seção neste método delegado de UICollectionViewFlowLayout:


#define kHeaderHeight 42
#define kInterSectionMargin 8

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
{
    if (section == 0) {
        return CGSizeMake(0, kHeaderHeight);
    }
    return CGSizeMake(0, kHeaderHeight + kInterSectionMargin);
}

Agora há um pouco de espaço entre as seções, mas não antes da primeira seção.

Outras dicas

Você está certo, não existe "interSectionSpacing", mas há algo próximo.

Tentar sectionInset Nas suas UICollectionViewFlowLayout.

UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setSectionInset:UIEdgeInsetsMake(top, left, bottom, right)];

Você pode definir o espaçamento entre cabeçalho e rodapé com o arquivo NIB.Vá para 'Size Inspector' de 'Visão de Coleção' e definir a altura do tamanho do cabeçalho para o valor desejável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top