Запретить UICollectionViewFlowLayout вычислять свои собственные наборы разделов с элементами переменного размера

#ios #uicollectionview #uicollectionviewlayout #flowlayout #uiedgeinsets

#iOS #uicollectionview #uicollectionviewlayout #flowlayout #uiedgeinsets

Вопрос:

Когда я указываю наборы разделов, например:

 flowLayout.sectionInset = UIEdgeInsetsMake(80, 50, 10, 20);
  

И все элементы в моем UICollectionView имеют одинаковый размер, наборы разделов применяются, как и ожидалось.

Когда все элементы в UICollectionView имеют разный размер, наборы разделов не применяются — макет потока, похоже, вычисляет и использует свои собственные вставки. Есть ли какой-либо способ предотвратить такое поведение? Мы бы хотели, чтобы данные значения sectionInset сохранялись даже при переменных размерах элементов.

Ответ №1:

Используйте: - (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section;

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

Комментарии:

1. добавьте некоторое описание к своему ответу.