强制collectionView只有2行

我必须做一个集合视图,以便不考虑iPhone的大小,我们每行只有2个图像,我们也需要每行和每列之间的边界,如图所示。

我想要这样:

在这里输入图像说明

试试这个代码:只是,一个不同的方法..

  func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize { let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout layout.sectionInset = UIEdgeInsets(top: 6, left: 4, bottom: 6, right: 4) layout.minimumInteritemSpacing = 04 layout.minimumLineSpacing = 04 layout.invalidateLayout() return CGSize(width: ((self.view.frame.width/2) - 6), height((self.view.frame.width / 2) - 6)) } 

从上面的代码在不同的设备上输出。

在这里输入图像说明

从collectionView的协议实现以下function:

 // cell size func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { return CGSize(width: view.frame.size.width/2, height: view.frame.size.width/2) } 

…视图是你的控制器(超)视图

 // inter-spacing func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAtIndex section: Int) -> CGFloat { return 2.0 } func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat { return 2.0 }