Подтвердить что ты не робот

Ios UICollectionView разделение сверху/снизу между ячейками

У меня есть представление коллекции, отлично работает, и я отрегулировал разделение для дополнения X,

и он отлично работает, но для заполнения Y между ячейками, похоже, не корректирует разделение NO

Это мой код для макета

UICollectionViewFlowLayout *layoutItem=[[UICollectionViewFlowLayout alloc] init];
    layoutItem.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);

enter image description here Итак, как я могу установить разделение сверху/снизу на 0px? Между ячейками?,

спасибо!

4b9b3361

Ответ 1

в первый раз вы увидите только верхнее дополнение. И Для отображения нижнего уложения вам нужно больше данных, которые имеют высоту кадра CollectionView. Когда вы просматриваете представление коллекции, вы увидите нижнее уложение.

Я использовал collectionView как это

fooobar.com/questions/39614/...

Когда я устанавливаю

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
    return UIEdgeInsetsMake(60, 10, 50, 10);
}

Выход будет выполнен в первый раз.

enter image description here

Когда вы прокручиваете collectionView, вы увидите нижнее дополнение.

enter image description here

Используйте это для межстрочного интервала между ячейками

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
{
    return 5;
}

Будет выглядеть как

enter image description here

Ответ 2

Вы также можете сделать это гораздо проще, используя макет потока представления коллекции.

Настройте раскладку потока (не забудьте добавить делегат в свой заголовок):

UICollectionViewFlowLayout * stickerFlowLayout = [[UICollectionViewFlowLayout alloc] init];

stickerFlowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
**stickerFlowLayout.minimumLineSpacing = 10;**
stickerFlowLayout.minimumInteritemSpacing = 5;
stickerFlowLayout.sectionInset = UIEdgeInsetsMake(10, 25, 20, 25);

// Set up the collection view 
collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:stickerFlowLayout];
collectionView.delegate = self;
collectionView.dataSource = self;

etc

Как вы можете видеть, мы можем легко установить интервал между строками, используя:

**stickerFlowLayout.minimumLineSpacing = 10;**

Мы также можем изменить другие атрибуты

stickerFlowLayout.minimumInteritemSpacing = 5;

Интерпольный интервал, влияющий на промежутки между элементами (аналогичные, но отличающиеся от межстрочного интервала)

Используя макет потока, вы можете сэкономить на огромном количестве кода и программно настроить все коллекции в одном месте (просто установка вставки и межстрочного интервала немедленно спасла мне две дополнительные ненужные функции)