Представление контейнера CollectionViewCell не заполняет ячейку - PullRequest
0 голосов
/ 21 сентября 2019

У меня есть collectionView, высоту и ширину которого я устанавливаю с ограничениями, используя autolayout.В моем

func collectionView(_ collectionView: ...., sizeForItemAt indexPath: IndexPath) я возвращаю CGSize(width: self.collectionView.frame.width-20, height: self.collectionView.frame.height), и, как видно на изображении, расположенном ниже, оно идеально выравнивается.

Проблема в том, что вид контейнера (пробел) этой ячейкивообще не заполняет зеленое пространство (то есть фон ячейки), даже если я установил ограничения для контейнера, чтобы обнять влево / вправо / вниз / вверх с полем 0

1008 * Что япробовал до сих пор :
  • Установите ограничение высоты для представления контейнера, которому я назначаю высоту представления сбора

  • updateConstraints()в cellForItemAt и внутри класса ячейки в `` `layoutSubview ()` `` `

  • Установить кадр представления контейнера в кадр collectionView

  • cell.layoutIfNeeded() in cellForItemAt

Ни один из них не решил мою проблему.

https://i.stack.imgur.com/mD2iC.jpg

1 Ответ

0 голосов
/ 21 сентября 2019

Здесь проблема, связанная со вставкой, я думаю.Пожалуйста, используйте метод делегата коллекции

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{

    return UIEdgeInsetsMake(top, left, bottom, right);

}

или

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

[aFlowLayout setSectionInset:UIEdgeInsetsMake(top, left, bottom, right)];

Swift 5.1

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
    UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
    return 15.0
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...