UICollectionView显示多个大小的单元格?

时间:2015-05-23 16:38:20

标签: ios swift uicollectionview uicollectionviewcell

我的故事板中有一个UICollectionView,其中UICollectionViewCell我点击并拖动它的大小100w 100h。我也有一个控制它的swift文件。代码如下:

override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
    //#warning Incomplete method implementation -- Return the number of sections
    return 4
}


override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    //#warning Incomplete method implementation -- Return the number of items in the section
    return 10
}

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! UICollectionViewCell

    // Configure the cell

    return cell
}

然而,当我运行它时,第一行被拉伸如下:enter image description here

如何让它们全部大小相同?

1 个答案:

答案 0 :(得分:3)

您的问题不是“拉伸”的第一行单元格。它是一个0点的插入部分,它使第0部分的最后一个单元格与第1部分的第一个单元格相冲突。

您可以通过实施UICollectionViewDelegateFlowLayout并设置插入部分来解决此问题。让您的课程符合UICollectionViewDelegateFlowLayout,将collectionView.delegate设为self,并实施UICollectionViewDelegateFlowLayout所需的功能。相关代表职能包括:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAtIndex section: Int) -> UIEdgeInsets
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAtIndex section: Int) -> CGFloat