UICollectionView单元格自动调整大小

时间:2018-04-03 11:48:39

标签: ios swift uicollectionview autosize

我的CollectionViews有两个问题,我正在尝试创建一个Instagram克隆,我想每行显示3个单元格,从而根据屏幕宽度更改单元格宽度。

我有这个代码,这或多或少是我在网上找到的答案,但它不起作用。

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize {

 let size = CGSize(width: (self.view.frame.size.width - 10) / 2, height: (self.view.frame.size.width - 10) / 2)

 return size
}

你知道该怎么办吗?也许这是我必须启用或我不知道的事情。

谢谢,

<磷>氮

2 个答案:

答案 0 :(得分:0)

您可能忘记继承UICollectionViewDelegateFlowLayout,因此请重新检查并执行以下操作。

class MyViewControler: UIViewController ,UICollectionViewDelegate,UICollectionViewDataSource, UICollectionViewDelegateFlowLayout

答案 1 :(得分:0)

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: IndexPath) -> CGSize {

 let size = CGSize(width: (self.collectionView.bounds.width)/3 - 10, height: (self.collectionView.bounds.width)/3 - 10)

 return size
}

并且不要忘记确认UICollectionViewDelegateFlowLayout协议