如何将 UICollectionView 单元格与 UICollectionView 边界对齐

How to align UICollectionView cell to UICollectionView bounds

这个问题已经被问过好几次了,我试图在我的代码中包含所有答案的各个方面——这仍然不起作用——所以可能有问题 methods/characteristics 在最新的 [=32] 中变得过时了=] 或者我只是做错了事。但这是我所在的位置:

蓝绿色是 CollectionView 的背景色。然后是一个粉红色背景的 PostCell,上面覆盖着一个蓝色图像视图,我从 url(顶部的视频缩略图)以及一个包含注释的粉红色 textView 中设置图像。

我想要的是让 PostCell 粘附在集合视图的顶部和底部,这样您就再也看不到蓝绿色部分了。

以下是我设置的约束以及视图层次结构:

在我的 TagViewController(此视图的控制器)中,我有:

class TagViewController: UIViewController,  UICollectionViewDelegate, UICollectionViewDelegateFlowLayout, UICollectionViewDataSource {

    ....

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

    override func viewDidLoad() {
        super.viewDidLoad()
        self.automaticallyAdjustsScrollViewInsets = false
        collectionView.contentInsetAdjustmentBehavior = .never
    }
    ....
}

insetForSectionAt 方法和我在 viewDidLoad 中设置的方法来自我目前在 Whosebug 上找到的类似问题的答案,比如这里:UICollectionView adds top margin 和这里: iOS:Setting UICollectionView cell to view size

你试过'sizeForItemAt indexPath'方法了吗?

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout:
 UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    return CGSize(width: view.frame.width, height: view.frame.height)
}