UICollectionView中的最后一项不是alligned – Swift

我已经看到类似这个问题的一些问题,但没有一个真正帮助我。 我的collections视图中的最后一个项目总是低于其他项目,如下图所示:

最后项目未分配

如果我增加UICollectionView的高度,那么最后一个图像的alignment方式是正确的,但是在UICollectionView的顶部和底部之间存在巨大的差距,如下图所示:

最后一个项目已分配

细胞的大小由这个代码控制:

  func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { let image = UIImage(data: imageArray[indexPath.row]) var size = image?.size let height = size!.height let width = size!.width let imagewidth = (width / height) * 214 return CGSize(width: imagewidth, height: 214) } 

据我所知,这应该是使每个图像的高度相同,这意味着原始图像的高度是多less并不重要。

我还有另一个收集视图,其中最后一项正确alignment,并以完全相同的方式设置,所以我有点困惑。 你觉得问题是什么? 我已经读过这可能是一个错误,但无论如何周围呢? 我仍然在学习Swift和一般的编程,所以如果你有任何其他的技巧,他们将非常感激。

谢谢

如果在UICollectionView的顶部和底部之间有一个巨大的差距,你可以通过设置viewController's automaticallyAdjustsScrollViewInsets viewController's false来解决这个问题。

 override func viewDidLoad() { super.viewDidLoad() //remove the blank of top and bottom in collectionView self.automaticallyAdjustsScrollViewInsets = false }