首页 > 解决方案 > CollectionViewCell 的容器视图未填充单元格

问题描述

我有一个collectionView,它的高度和宽度是我使用自动布局设置的约束。在我的

func collectionView(_ collectionView: ...., sizeForItemAt indexPath: IndexPath)我回来CGSize(width: self.collectionView.frame.width-20, height: self.collectionView.frame.height)了,如下图所示,它排列得非常好。

问题是该单元格的容器视图(空白区域)根本没有填满绿色空间(即单元格的背景),即使我已将 containerView 的约束设置为拥抱左/右/下/上0 边距。

到目前为止我所尝试的

这些都没有解决我的问题。

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

标签: iosswiftuicollectionview

解决方案


我认为这里的问题与插图有关。请使用集合委托方法

- (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)];

斯威夫特 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
}

推荐阅读