Удаление пустого места, если заголовок раздела скрыт в UICollectionView

У меня есть два раздела вUICollectionView, Я хочу показать заголовок раздела вUICollectionView только для 1-го раздела. Не в 0-м разделе.

Поэтому я попытался вернутьсяnil вviewForSupplementaryElementOfKind: метод дляsection == 0 и возвращает представление дляsection == 1.

Вылетает и показывает ошибку ниже:

Assertion failure in -[UICollectionView _createPreparedSupplementaryViewForElementOfKind:atIndexPath:withLayoutAttributes:applyAttributes]:

Вот мой код для дополнительного просмотра.

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{
    UICollectionReusableView *sectionHeader = nil;
    if (kind == UICollectionElementKindSectionHeader && indexPath.section == 1) {
        sectionHeader = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"EventSectionHeader" forIndexPath:indexPath];
        sectionHeader.layer.borderWidth = .5f;
        sectionHeader.layer.borderColor = [UIColor colorWithRed:221.0 / 255.0 green:223.0 / 255.0 blue:220.0 / 255.0 alpha:1.0].CGColor;
    }

    return sectionHeader;
}

Я обнаружил, что возвращение ноль вviewForSupplementaryElementOfKind: метод сбой для других тоже. Другие ответы, предлагающие удалить этот метод.

Но я хочу показать заголовок раздела только для определенных разделов. Как добиться этого возвращающегося представления только для одного раздела? Благодарю. Любая помощь будет оценена.

РЕДАКТИРОВАТЬ:

Как сказал @san, я обновил код, чтобы скрыть заголовок раздела. Оно работает. Он скрывает заголовок. Но я все еще вижу пустое место в месте заголовка раздела. Ожидаемые результаты: не должно быть места для заголовка раздела, если он скрыт.

обновленный код:

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath
{

    UICollectionReusableView *sectionHeader = nil;
    if (kind == UICollectionElementKindSectionHeader) {
        sectionHeader = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:@"EventSectionHeader" forIndexPath:indexPath];
        sectionHeader.layer.borderWidth = .5f;
        sectionHeader.layer.borderColor = [UIColor colorWithRed:221.0 / 255.0 green:223.0 / 255.0 blue:220.0 / 255.0 alpha:1.0].CGColor;
        if (indexPath.section == 0) {
            sectionHeader.hidden = YES;

        }else {
            sectionHeader.hidden = NO;
        }
    }

    return sectionHeader;
}

Я даже попытался установить фрейм для sectionHeader, как сказал @san. Но не повезло. тот же результат.

Ответы на вопрос(5)

Ваш ответ на вопрос