UiCollectionView: Как добавить место между нижним колонтитулом и заголовком?
-
12-12-2019 - |
Вопрос
У меня есть коллекция, используя стандартный класс FlowLayout с горизонтальной прокрутки и заголовка и нижний колонтитул в каждом разделе.
Теперь есть нулевые пиксели между нижним колонтитулом и представлениями заголовка (I.e между разделами).Я хотел бы добавить небольшое расстояние между ними, но не выше первого раздела или после последнего.Таким образом, я не могу просто добавить это пространство в самом верхнем и нижнем колонтитуле.
Я бы ожидал что-то вроде «межведомственного ведения», но, по-видимому, нет такой настройки.Любые идеи?
Решение
Так оказывается, нет никаких настроек для этого.Это то, что я оказался:
Я устанавливаю содержимое моего восприятия заголовка, чтобы быть выровненным в нижней части самого просмотра заголовка, поэтому, по-видимому, имеет такую же видимую высоту, даже если я сделаю точку зрения заголовка выше его содержимого (Auto Payout делает это действительнолегкий).
Тогда я устанавливаю высоту заголовка в зависимости от индекса раздела в этом делегатете метод UICOLLECKViewPlowlowout:
#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);
}
.
Теперь между разделами есть небольшое пространство, но не до первого раздела.
Другие советы
Вы правы, нет такого понятия, как «межсекретворчество», но есть что-то близко.
Попробуйте sectionInset
на вашем генеракодицетагкоде.
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
[flowLayout setSectionInset:UIEdgeInsetsMake(top, left, bottom, right)];
. Вы можете установить расстояние между заголовками и нижним колонтитулом в файле NIB.Перейдите в «Размер инспектора» «Score View» и установите высоту размера заголовка до желаемого значения.