UICollectionView макет последней ячейки
У меня есть коллекция, которая имеет UICollectionViewFlowLayout
Я положил на него 10 предметов. и они имеют разные размеры:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row<6) {
CGSize retval = CGSizeMake(100, 100);
return retval;
}
CGSize retval = CGSizeMake(200, 130);
return retval;
}
его макеты:
первые 6 клеток выглядят хорошо, а 7-9 правильны, но последний не выравнивается по центру,
![enter image description here]()
![enter image description here]()
любой мог мне это объяснить?
и resent days Im, играющий с коллекционными макетами, но все же чувствую себя смущенным и не поддаваясь выбору
flowlayout и пользовательский макет. любые принципы на этом?
много спасибо заранее.
Ответы
Ответ 1
Я столкнулся с аналогичной проблемой, поскольку последние несколько ячеек в представлении коллекции имеют неприглядное смещение. В моем случае это было связано с тем, что он не соблюдал вставки разделов относительно размеров элементов.
Попробуйте установить sectionInset offlowLayout на 0:
flowLayout.sectionInset = UIEdgeInsetsZero;
Если это не сработает, вам может потребоваться принудительное использование параметра minimumInterItemSpacing, так как макет потока, похоже, искажает это в последних нескольких ячейках:
flowLayout.minimumInteritemSpacing = 10.f;//or any reasonable number