UICollectionViewCell没有在Swift 3中填满整个屏幕

alp*_*aca 4 ios uicollectionview uicollectionviewcell swift

在此输入图像描述

我有一个UICollectionView,其单元格覆盖整个屏幕.我的问题是右边有一个小空间,显示一个不同的单元格.我希望每个单元格覆盖屏幕的整个宽度.

这是我尝试过的:

  1. 从故事板中将最小间距设置为0
  2. 设置每个单元格以适合整个视图框架
private func collectionView(collectionView: UICollectionView,
                    layout collectionViewLayout: UICollectionViewLayout,
                    sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
    return CGSize(width: view.frame.width, height: view.frame.height)
}
Run Code Online (Sandbox Code Playgroud)

我还有什么办法可以解决这个问题吗?

gwi*_*yai 9

应该是正确的Swift 3实现

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        let itemWidth = collectionView.bounds.width
        let itemHeight = collectionView.bounds.height
        return CGSize(width: itemWidth, height: itemHeight)
}
Run Code Online (Sandbox Code Playgroud)

这将使每个集合视图单元格填满整个集合视图.它不应该是私人的.现在您需要做的就是确保您的集合视图在整个视图中延伸.

还要确保扩展ViewController以包含UICollectionViewDelegateFlowLayout以使上述方法起作用,并将故障板中的所有部分插入更改为0.