首页 文章

如何在UICollectionView中添加适当的填充?

提问于
浏览
1

在宽度和高度方面,我的UICollectionView的背景图像总是比UICollectionView小 . 这是图片(背景白色是整个UICollectionView大小):

The content is outside the UICollectionView

从图片中可以看出,这会导致内容超出背景图像 . 当我向右滚动时,会发生这种情况(我清除了CollectionView的背景颜色):

enter image description here

这是CollectionView的大小检查器:

collection view size inspector

如何减少CollectionView中单元格容器的大小?

或者解决这个问题的正确方法是什么?

3 回答

  • 1

    查看底部部分的视图部分的屏幕截图 . 只需给出更大的X和更小的宽度 . 更好的是,使用autolayout来调整集合视图相对于其超级视图的大小 .

    至于您的图像,请不要将其作为集合视图的背景图像 . 只需将其设置为集合视图后面的图像即可 .

  • 2

    有3种方法可以解决您的问题:

    • 在Storyboard或.xib上:将图像和集合视图拆分为两个不同的UI元素 . 使CollectionView约束在图像视图中 . 将集合视图的前导,顶部,尾部和底部约束与图像视图的相同约束对齐,偏移量为10或15,用于前导和尾随 .

    • 在代码中:如果使用UICollectionViewFlowLayout,则可以使用UICollectionViewDelegateFlowLayout方法:

    public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { }

    返回 UIEdgeInsets(top: 0, left: 15, bottom: 0, right: 15) ,以便您的部分的左右边缘填充更深入背景图像 .

    • 在代码中:使用 collectionView.contentInset = UIEdgeInsets(top: 0, left: 15, bottom: 0, right: 15) 将集合视图的整个内容更深入地移动到背景图像中 .
  • 0

    我并不安静地理解您的问题,但您可以在“大小”检查器中更改CollectionViewCell的大小 .

    enter image description here

相关问题