我的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
}
你知道该怎么办吗?也许这是我必须启用或我不知道的事情。
谢谢,
<磷>氮答案 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
协议